home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Mops 2.7 / Quick Edit ƒ / Mops Glossary < prev    next >
Text File  |  1993-12-19  |  124KB  |  3,298 lines

  1.  
  2. !  n addr --          Memory/Nuc2.asm
  3.     Stores 32-bit n at address.
  4.  
  5. !FNAME  addr len fcb --          Files/base
  6.     Sets filename for fcb.
  7.  
  8. !FPTR  ^filename fcb --          Files/Nuc2.asm
  9.     Primitive.
  10.  
  11. "            Strings/Nuc2.asm
  12.     Standard delimiter.
  13.  
  14. "STR"  -- addr len          Lowstrings/Nuc2.asm
  15.     Scans for a string delimited by "..."
  16.  
  17. #  ud1 -- ud2          NumericConversion/Nuc2.asm
  18.     standard
  19.  
  20. #>  n -- addr len          NumericConversion/Nuc2.asm
  21.     Ends numeric conversion. standard
  22.  
  23. #docsToOpen  -- n          Events/Nuc2.asm
  24.     A value.
  25.  
  26. #LEAD  -- n          Console/Nuc2.asm
  27.     Computes an appropriate leading for the current window.
  28.  
  29. #LINES  -- n          Console/Nuc2.asm
  30.     Computes the number of lines for the current window. 
  31.     (ContTop-ContBot)/#lead.
  32.  
  33. #S  |n| -- 0          NumericConversion/Nuc2.asm
  34.     standard
  35.  
  36. #THREADS  -- 8          Compiler /Nuc2.asm
  37.     A constant.
  38.  
  39. $  -- n          Compiler/Base
  40.     Will compile the ensuing characters in the input stream as a hex number.
  41.  
  42. $=  addr1 len1 addr2 len2 -- result          Strings/String
  43.     Compares string1 to string2, both given as the first byte of text 
  44.     (addr) and the number of bytes to compare (len). Essentially used to do 
  45.     alphabetical sorts with a being less than b and so forth, but note that 
  46.     a (ascii 97) still is "less than" B (ascii 66). Although A will be less 
  47.     than a. Result = -1 if string1 is less than string2, = 0 if strings are 
  48.     equal, = 1 if string 1 is greater than string2. A Toolbox call to 
  49.     IUMagString. See IM for complete detail. Also, see CMPSTR, it is faster.
  50.  
  51. $CHK  --          Strings/Nuc2.asm
  52.     Checks the current string object for legality. Checks that POS and LIM 
  53.     are within the string, and that POS is not past LIM. A2 points to the 
  54.     string object.
  55.  
  56. $ER  --          Strings/String
  57.     The error action placed in vect $err. Used by class string to display 
  58.     size, pos, and lim before aborting on error.
  59.  
  60. $ERR  --          System/Nuc.asm
  61.     A system vector. Contains $er, which is defined in file String.
  62.  
  63. $FAIL  --          Strings/Nuc2.asm
  64.     Error checking primitive.
  65.  
  66. &  -- n  : char          Strings/Base
  67.     Leave ascii value of next char in stream. State smart.  Note that the
  68.     ANSII standard uses CHAR and [CHAR], which are state dumb.
  69.  
  70. '  -- xt  : word          Compiler/Nuc2.asm
  71.     In Neon, ' (tick) was state-smart, following Fig-Forth. We have now 
  72.     followed the Forth-83 and ANSI standards in replacing the state-smart 
  73.     tick with the two state-dumb forms ' (which ticks the next word in the 
  74.     input stream at run time, no matter what) and ['] which is immediate, 
  75.     must be used in a definition, and compiles a literal fetch of the xt of 
  76.     the following word.
  77.  
  78. 'TYPE  -- 4bytestring  :  XXXX          Resources/Base
  79.     Given 4 ascii characters in the input stream, a 4bytestring will be 
  80.     left on the stack. This data type is also known as a PACKED ARRAY[1..4] 
  81.     OF CHAR; in Pascal.
  82.  
  83. (  --          Compiler/Nuc2.asm
  84.     Left paren. Denotes the beginning of a comment. At least one space must 
  85.     follow. End comment with a right paren ).
  86.  
  87. (.RSTR)  --  : lit          Errors/base
  88.     Displays given string number (a literal) from the mops.rsrc file, 
  89.     preceded by "Msg# ..."
  90.  
  91. (.S)  end-addr strt-addr --          Stack/Nuc2.asm
  92.     
  93.  
  94. (.TSTR)  id --          Resources/Base
  95.     Displays the string from the mops.rsrc file with the given resource ID.
  96.  
  97. (:)  --  :  name          Compiler/Nuc2.asm
  98.     Does the work for : once the header has been laid down. It is also 
  99.     called from other words that begin definitions such as :proc.
  100.  
  101. (;)  --          Compiler/Nuc2.asm
  102.  
  103. (AEErr)  err# --          Events/Event
  104.     Default for error returns from AppleEvent handlers, i.e. this is the 
  105.     action for AEErrorVec.
  106.  
  107. (ASY)  fcb --          Files/Files
  108.     Sets up for a low-level asynchronous read or write.
  109.  
  110. (BE)  xt --          Compiler/base
  111.     A primitive for implementing become.
  112.  
  113. (BS)  --          Console/Nuc2.asm
  114.     Moves the cursor back by 6 pixels, performing expected behavior for a 
  115.     backspace in the console.
  116.  
  117. (COL)  --  : name          OOP/Struct
  118.     A standard class. Collections are ordered lists with a current size. We 
  119.     implement them by multiply inheriting the generic (COL) class with the 
  120.     array class of the appropriate width. We use a few tricks to avoid late 
  121.     binding to self in loops.
  122.  
  123. (COMP)  xt --          Compiler/Nuc2.asm
  124.     Compiles the word with the given xt, by calling its compilation 
  125.     handler. All compilation should be done via this word or (COMPN), since 
  126.     they properly allow for words with optimization etc. This word assumes 
  127.     a zero opcode is to be passed to Handlers. If not, use (COMPN).
  128.  
  129. (COMPN)  xt n --          Compiler/Nuc2.asm
  130.     Is similar to (COMP), but has an additional parameter n which is the 
  131.     opcode for -> ++> etc.
  132.  
  133. (CR)  --          Console/Nuc2.asm
  134.     Primitive called by system vectors when cr is executed.
  135.  
  136. (DDIE)  n --          Errors/base
  137.     Our normal error action is to call DIE with an error number.  DIE calls
  138.     SvErr to save the error info, then THROWs the error number.  If no error
  139.     handler has been installed, or only handlers which don't want that number
  140.     and re-THROW it, the default action for THROW occurs.  This calls DFLT-DIE.
  141.     (DDIE) is the action for the system vector DFLT-DIE.
  142.  
  143. (EMIT)  c --          Console/Nuc2.asm
  144.     Prints a character on the screen only.
  145.  
  146. (Err#)  -- n          errors/Nuc2.asm
  147.     A value.
  148.  
  149. (FDOS$)  trap# --          Toolbox/Base
  150.     Primitive for fdos$
  151.  
  152. (FIND)  string-addr lfa -- xt flag | -- string-addr false          Compiler/Nuc2.asm
  153.     lfa points to the dictionary entry where the search is to start.
  154.  
  155. (FINDM)  hash class link-offs -- offs xt T | F          Compiler/Nuc2.asm
  156.     Link-offs is the offset from the xt of the class, of the first link in 
  157.     the search chain. The returned result offs is only used for ivars, and 
  158.     relates to multiple inheritance. It is the offset of the first of the 
  159.     ivars of the class in which the found ivar is declared, within the 
  160.     actual class being searched.
  161.  
  162. (FORGET)  lfa --          Compiler/Nuc2.asm
  163.     Forgets down to the given lfa.
  164.  
  165. (HEADER)  --          Compiler/Nuc2.asm
  166.     Default for HEADER. Creates a dictionary header using the next word in 
  167.     the input stream.
  168.  
  169. (KEY!)  --          Events/Event
  170.     Sets the default action for vect key by storing the xt of (key) in it.
  171.  
  172. (KEY)  -- c          Events/Event
  173.     The default action for key. c is the character corresponding to the key 
  174.     that was pressed. : (key) key: fevent drop $ FF and ;
  175.  
  176. (LIT-STR)  -- addr len          Lowstrings/Nuc2.asm
  177.     (LIT-STR) is called from any word that needs to be followed by a 
  178.     literal character string which has a length byte at the start. 
  179.     (LIT-STR) expects the top cell of the return stack to point to the 
  180.     length byte, and this cell is incremented to point to the next 
  181.     instruction following the string.
  182.  
  183. (LSEEK)  fcb  mode  offset -- ioResult          Files/Nuc2.asm
  184.     Calls the File Manager routine SetFPos to position the file pointer of 
  185.     the file specified by fcb as specified by mode and offset. If 
  186.     successful, ioResult is zero; otherwise, it is non-zero. (lseek) is the 
  187.     primitive used
  188.  
  189. (MAKE)  fcb -- ioResult          Files/Nuc2.asm
  190.     Calls the File Manager routine Create to create the file specified by 
  191.     fcb. If successful, ioResult is zero; otherwise, it is non-zero. (make) 
  192.     is the primitive used by the New: method of class File.
  193.  
  194. (NUMBER)  addr -- n addr'          Console/Nuc2.asm
  195.     Primitive used by number.
  196.  
  197. (OPEN)  fcb  mode -- ioResult          Files/Nuc2.asm
  198.     Calls the File Manager routine to open the file specified by fcb using 
  199.     the access mode mode. If successful, ioResult is zero; otherwise, it is 
  200.     the result code.
  201.  
  202. (PAUSE)  --          Events/Frontend
  203.     Our standard action for the vect pause.
  204.  
  205. (READ)  fcb  count  bufaddr -- ioResult          Files/Nuc2.asm
  206.     Calls the File Manager routine Read to read count bytes into bufaddr 
  207.     from the file specified by fcb. If successful, ioResult is zero; 
  208.     otherwise, it is non-zero. (read) is the primitive used by the Read: 
  209.     method of class
  210.  
  211. (S=)  addr1 addr2 len -- b          Lowstrings/Nuc2.asm
  212.  
  213. (SF)  --          System/Objinit
  214.     The action for setFwind vect.
  215.  
  216. (SPACES)  n --          Console/Nuc2.asm
  217.     Will display n spaces in the currrent window.
  218.  
  219. (TRAP$)  trap# --          Toolbox/Base
  220.     Compiles a call to the given trap.
  221.  
  222. (TYPE)  addr len --          Console/Nuc2.asm
  223.     Prints the given text to the screen.
  224.  
  225. (WRITE)  fcb  count  bufaddr -- ioResult          Files/Nuc2.asm
  226.     Calls the File Manager routine Write to write count bytes into bufaddr 
  227.     from the file specified by fcb. If successful, ioResult is zero; 
  228.     otherwise, it is non-zero. (write) is the primitive used by the Write: 
  229.     method of class
  230.  
  231. )  --          Compiler/base
  232.     Right paren. Denotes the end of a comment that was begun by ( .
  233.  
  234. *  n1 n2 -- n1*n2          Arithmetic/Nuc2.asm
  235.     Standard multiply.
  236.  
  237. **  obj selid --          OOP/Class
  238.     Late binds whatever is on the stack to the given method. e.g. obj get: 
  239.     ** . You must be sure that obj really does point to an object.
  240.  
  241. **N  flt n -- flt**n          FloatingPoint/floating point
  242.     Integer exponentiation. This wasn't in Neon, but might be useful. Note 
  243.     this operation ignores the high-order 16 bits of n.
  244.  
  245. */  n1 n2 n3 --  (n1*n2)/n3          Arithmetic/Nuc2.asm
  246.     Multiplies the two signed integers n1 and n2, then divides the double 
  247.     number product by the signed number n3, leaving a signed quotient.
  248.  
  249. */MOD  n1 n2 n3 --  rem  (n1*n2)/n3          Arithmetic/Nuc2.asm
  250.     Same as */ except also leaves the remainder of the division.
  251.  
  252. *>  f --  : word          Arithmetic /args
  253.     A floating point prefix operator. Multiplies by f. Use for fvalues, 
  254.     local fvariables, named input parameters. Not for ints.
  255.  
  256. *W  n1 n2 -- n1*n2          Arithmetic/Nuc2.asm
  257.     Faster than * on a 68000 if you know that the operands are in the range 
  258.     -32768 to +32767.
  259.  
  260. +  n1 n2 -- n1+n2          Arithmetic/Nuc2.asm
  261.     Standard addition.
  262.  
  263. +!  n addr --          Memory/Nuc2.asm
  264.     Adds n to the longword at address.
  265.  
  266. ++>  n --  : word          Arithmetic /args
  267.     A prefix operator. Adds n. Use for values, local variables, named input 
  268.     parameters. Also works for floats.
  269.  
  270. +-  n1 n2 -- n3          Arithmetic/Nuc2.asm
  271.     Sets the sign of n1 to that of n2, left as n3.
  272.  
  273. +>  n --  : word          Arithmetic /args
  274.     A prefix operator. Adds n. Synonym for ++>. Use for values, local 
  275.     variables, named input parameters. Also works for floats.
  276.  
  277. +CURS  --          Console/Nuc2.asm
  278.     Turns on display of the cursor on the screen.
  279.  
  280. +ECHO  --          Console/Nuc2.asm
  281.     Turns on echoing to the screen of source files being loaded from disk. 
  282.     You may want to use +echo when loading a newly created source file to 
  283.     help spot any code snagging compilation. Echo is toggled by the 
  284.     keyboard short cut: Command-O
  285.  
  286. +LOOP  n --          ControlStructures/Nuc2.asm
  287.     Marks end of DO ...+LOOP structure. Like LOOP except will increment i 
  288.     by n.
  289.  
  290. ,  n --          Compiler/Nuc2.asm
  291.     Compiles 4-byte n into the next available dictionary.
  292.  
  293. ,"  --          Strings/Nuc2.asm
  294.     Add text till " to the dictionary.
  295.  
  296. ,"STR"  --          Strings/Nuc2.asm
  297.     Adds text delimited by " at the start and end.
  298.  
  299. ,DLM-STR  c --          Lowstrings/Nuc2.asm
  300.     Scans the source for a string delimited at the start and end by c, then 
  301.     adds it to the dictionary.
  302.  
  303. ,EXEC  xt n --          Compiler/args
  304.     State-smart execute. If used within a program definition, compiles the 
  305.     xt as a literal to be executed at runtime; otherwise executes it 
  306.     immediately. This is not an immediate word. It is useful in building 
  307.     compiler words which conditionally compile other words.
  308.  
  309. ,STR  c --          Lowstrings/Nuc2.asm
  310.     c is delimiter. Adds the following text until delimiter to the 
  311.     dictionary as a counted string.
  312.  
  313. -  n1 n2 -- n1-n2          Arithmetic/Nuc2.asm
  314.     Standard subtraction.
  315.  
  316. -!  n addr --          Memory/Nuc2.asm
  317.     Subtracts n from the longword at address.
  318.  
  319. -->  n --  : word          Arithmetic /args
  320.     A prefix operator. Subtracts n. Use for values, local variables, named 
  321.     input parameters. Also works for floats.
  322.  
  323. -<"  --  : filename          Files/Nuc2.asm
  324.     This is the primitive loader. Use this when rebuilding Mops from below 
  325.     "Files" which contains the definition for //. Note that <" can be used 
  326.     but is a bit slower since the files are echoed to display.
  327.  
  328. ->  n --  :  word          Memory/args
  329.     Gazinta. A prefix operator. Stores n in values, local variables, named 
  330.     input parameters, and vects.
  331.  
  332. -CURS  --          Console/Nuc2.asm
  333.     Turns off display of the cursor on the screen.
  334.  
  335. -ECHO  --          Console/Nuc2.asm
  336.     Turns off echoing to the screen of source files being loaded from disk. 
  337.     Echo is toggled by the keyboard short cut: Command-O
  338.  
  339. -MODELESS  --          Events/Objinit
  340.     Sets normal event handling - no modeless dialogs, by storing the 
  341.     appropriate 23 event handlers in the event object fevent.
  342.  
  343. .  n --          Console/Nuc2.asm
  344.     Displays a number, followed by one space.
  345.  
  346. ."  --          Strings/Nuc2.asm
  347.     Will print to the console text delimited by "
  348.     Not state smart (only works inside a defintion).
  349.  
  350. .(  --          Lowstrings/Nuc2.asm
  351.     Forth-83/ANSI standard. Prints out text till ). Immediate.
  352.  
  353. .CLASS:  --          OOP/Class
  354.     A method. Prints the name of the class of the given object.
  355.  
  356. .CELL  addr --          Console/Frontend
  357.     A vect.  Will display the contents of the given stack cell.
  358.     Is revectored to display floats in scientific notation if
  359.     fp is loaded.  Used for stack display in the new Mops
  360.     interface.
  361.  
  362. .CUR  --          System/Nuc2.asm
  363.     Draws the cursor in the Mops console window.
  364.  
  365. .H  n --          Console/Base
  366.     Displays number as signed hex.  See U.H
  367.  
  368. .ID  ?xt --          Compiler/Nuc2.asm
  369.     If addr looks like a xt with a name, prints the name. If it looks like 
  370.     a xt without a name, prints "(no name)". Otherwise doesn't print 
  371.     anything.
  372.  
  373. .ID:  --          OOP/Class
  374.     A method. Prints the name of the given object, if it has a name.
  375.  
  376. .R  n w --          Console/Nuc2.asm
  377.     Prints n using the current number base, right-justified in a field w 
  378.     characters wide. The entire number is printed even if it exceeds field 
  379.     width.
  380.  
  381. .S  --          Stack/Nuc2.asm
  382.     Non-destructively prints the contents of the two stacks in decimal and 
  383.     hexadecimal.
  384.  
  385. .W  --  : word          Memory/Struct
  386.     Performs a memory DUMP for 200 bytes starting at the nfa+1 of the 
  387.     following word in the input stream.
  388.  
  389. /  n1 n2 -- n1/n2          Arithmetic/Nuc2.asm
  390.     Standard division.
  391.  
  392. //  --  : filename          System/Files
  393.     Nesting loader. Usage: // filename
  394.  
  395. />  f --  : word          Arithmetic /args
  396.     A floating point prefix operator. Divides by f. Use for fvalues, local 
  397.     fvariables, named input parameters. Not for ints.
  398.  
  399. /MOD  n1 n2 -- rem n1/n2          Arithmetic/Nuc2.asm
  400.     divides n1 by n2 leaving the remainder under the signed quotient.
  401.  
  402. /MODW  n1 n2 -- rem n1/n2          Arithmetic/Nuc2.asm
  403.     Faster version of /mod on a 68000 if you know that the operands are in 
  404.     the range -32768 to +32767.
  405.  
  406. /STRING  addr len n -- addr' len'          Lowstrings/Nuc2.asm
  407.     Updates the string descriptor (addr len) by n bytes. Adds n to addr, 
  408.     and subtracts it from len. n may be negative.
  409.  
  410. 0,  --          Compiler/Base
  411.     Compiles an empty cell.
  412.  
  413. 0<  n -- b          Arithmetic/Nuc2.asm
  414.     less than zero
  415.  
  416. 0<=  n -- b          Arithmetic/Nuc2.asm
  417.     less than or equal to zero
  418.  
  419. 0<>  n -- b          Arithmetic/Nuc2.asm
  420.     not equal to zero
  421.  
  422. 0=  n -- b          Arithmetic/Nuc2.asm
  423.     zero equals
  424.  
  425. 0>  n -- b          Arithmetic/Nuc2.asm
  426.     greater than zero
  427.  
  428. 0>=  n -- b          Arithmetic/Nuc2.asm
  429.     greater than or equal to zero
  430.  
  431. 0DUP  0 -- 0 0  | n -- n          Stack/Nuc2.asm
  432.     Duplicates only if zero.
  433.  
  434. 0EXIT  ? --          ControlStructures/Nuc2.asm
  435.     Equivalent to NIF EXIT THEN.
  436.  
  437. 1+  n -- n+1          Arithmetic/Base
  438.  
  439. 1-  n -- n-1          Arithmetic/Base
  440.  
  441. 1/X  flt1 -- flt2          FloatingPoint/floating point
  442.     Computes the reciprocal.
  443.  
  444. 2+  n -- n+2          Arithmetic/Base
  445.  
  446. 2-  n -- n-2          Arithmetic/Base
  447.     
  448. 2/  n -- n/2          Arithmetic/Base
  449.  
  450. 2DROP  n1 n2 --          Stack/Nuc2.asm
  451.  
  452. 2DUP  n1 n2 -- n1 n2 n1 n2          Stack/Nuc2.asm
  453.  
  454. 3+  n -- n+3          Arithmetic/Base
  455.  
  456. 3-  n -- n-3          Arithmetic/Base
  457.  
  458. 4+  n -- n+4          Arithmetic/Base
  459.  
  460. 4-  n -- n-4          Arithmetic/Base
  461.  
  462. :  --  :  name          Compiler/Nuc2.asm
  463.     Creates a dictionary entry for the next word in the input stream. 
  464.     standard
  465.  
  466. :A  --          Compiler/Nuc2.asm
  467.     For defining action handlers that cross module bounds. If a class is 
  468.     defined in module1, but instantiated in module2 with action handlers in 
  469.     module2, define handlers with :a ... ;a.
  470.  
  471. :CLASS  --  : name  super{ cname1 cname2 } opt          OOP/Class
  472.     Begins definition of a new class. One or more classnames can be 
  473.     designated as superclass(es). There are optional parameters that may 
  474.     also be declared after the superclass list, including n INDEXED, LARGE, 
  475.     and GENERAL.
  476.  
  477. :CODE  --  : name          Assembler/
  478.     The analog of : for assembler definitions.
  479.  
  480. :F  --  : name          Compiler/base
  481.     Begins compilation of a word which was previously forward-referenced. 
  482.     :f creates a headerless entry for the word and then patches the 
  483.     previous entry to point to the newly compiled definition. 
  484.     Forward-referencing is useful when a word is to be used before it can 
  485.     be defined. You end the compilation with ;f.
  486.  
  487. :LOC  --  : name          Memory/args
  488.     Commences the definition of the "main" word of a local section. The { 
  489.     ... } syntax is not used here, as it has already been done at LOCAL.
  490.  
  491. :M  --  : name:          OOP/Class
  492.     Begins definition of a method within a class. Note that name: MUST end 
  493.     with a colon (:).
  494.  
  495. :MCODE  --  : name:          Assembler/
  496.     The analog of :m for assembler definitions.
  497.  
  498. :MLOC  --  : name          Memory/args
  499.     Commences the definition of the "main" method of a local section within 
  500.     a class definition.
  501.  
  502. :PROC  --  : name          Toolbox/base
  503.     Begins compilation of a word that to the Toolbox behaves like a Pascal 
  504.     procedure or function. You can use a :proc word when a Toolbox routine 
  505.     requires a procedural argument.
  506.  
  507. ;  --          Compiler/Nuc2.asm
  508.     standard
  509.  
  510. ;A  --          Compiler/Nuc2.asm
  511.     For defining action handlers that cross module bounds. If a class is 
  512.     defined in module1, but instantiated in module2 with action handlers in 
  513.     module2, define handlers with :a ... ;a.
  514.  
  515. ;CLASS  --          OOP/Class
  516.     Ends definition of a class.
  517.  
  518. ;CODE  --          Assembler/
  519.     The analog of ; for assembler definitions.
  520.  
  521. ;F  --          Compiler/base
  522.     Ends compilation of a word which was defined with :f. See forward.
  523.  
  524. ;LOC  --          Memory/args
  525.     Ends the definition of the "main" word, and ends the local section.
  526.  
  527. ;M  --          OOP/Class
  528.     Ends definition of a method in a class.
  529.  
  530. ;MCODE  --          Assembler/
  531.     The analog of ;m for assembler definitions.
  532.  
  533. ;MLOC  --          Memory/args
  534.     Ends the definition of the "main" method, and ends the local section.
  535.  
  536. ;PROC  --          Toolbox/base
  537.     Ends compilation of word defined with :proc
  538.  
  539. ;S  --          System/Nuc2.asm
  540.     This is the primitive that ; compiles at the end of a colon definition. 
  541.     ;s transfers execution to the next higher level by popping the return 
  542.     address of the calling word or method off the return stack.
  543.  
  544. <  n1 n2 -- b          Arithmetic/Nuc2.asm
  545.     Less than.
  546.  
  547. <"  --  : filename          Files/Nuc2.asm
  548.     This is the primitive loader. Use this when rebuilding Mops from below 
  549.     "Files" which contains the definition for //. Note that -<" is a bit 
  550.     faster since the files are not echoed to display.
  551.  
  552. <#  n 0 --          NumericConversion/Nuc2.asm
  553.     Initializes numeric conversion. Always place a 0 on top of the stack,
  554.     it isn't really used but you have to reserve space on the stack.
  555.  
  556. <<  n s -- n'          Arithmetic/Nuc2.asm
  557.     Shifts the bits of n to the left by s shift bits. e.g. 3 2 << will 
  558.     yield 12 (0011) -> (1100).
  559.  
  560. <=  n1 n2 -- b          Arithmetic/Nuc2.asm
  561.     less than or equal
  562.  
  563. <>  n1 n2 -- b          Arithmetic/Nuc2.asm
  564.     not equal, perhaps we could use ≠ ?
  565.  
  566. <BUILDS  --  :  name          Compiler/Nuc2.asm
  567.     We retain <BUILDS to be used in conjunction with DOES> rather than 
  568.     following the standard and using CREATE. This is because CREATEd words 
  569.     have the data right at the xt, while DOES> words have to have a pointer 
  570.     to the DOES> code. So rather than waste space in CREATEd words or do a 
  571.     complicated kludge during compilation, we use <BUILDS.
  572.  
  573. <SUPER  --  : cname1 cname2 } opt          OOP/Class
  574.     Synonym for super{, but only looks for one superclass. For backwards 
  575.     compatibilty with Neon.
  576.  
  577. =  n1 n2 -- b          Arithmetic/Nuc2.asm
  578.     equals
  579.  
  580. >  n1 n2 -- b          Arithmetic/Nuc2.asm
  581.     greater then
  582.  
  583. >=  n1 n2 -- b          Arithmetic/Nuc2.asm
  584.     greater than or equal
  585.  
  586. >>  n s -- n'          Arithmetic/Nuc2.asm
  587.     Shifts the bits of n to the right by s shift bits. e.g. 12 2 >> will 
  588.     yield 3 (1100) -> (0011).
  589.  
  590. >CLASS  obj -- class | -- 0          Compiler/Nuc2.asm
  591.     Converts an object address to its class address. Returns zero if the 
  592.     passed-in address isn't an object address. Needs to work for heap as 
  593.     well as dictionary objects. The test is very unlikely (maybe 1/2**24) 
  594.     to indicate a non-object as being an object. Without tagged storage we 
  595.     can't be absolutely sure. To save time we don't do a conservative check 
  596.     on obj actually being a legal address (unlike xt?), apart from checking 
  597.     that it is even, which is a very quick check. This means we may crash 
  598.     if an even but illegal address is passed in. The presumption is that it 
  599.     really is an object address, and that anything else is an (unlikely) 
  600.     error.
  601.  
  602. >Classxt  obj -- class | -- 0          Compiler/Nuc2.asm
  603.     As for >CLASS, but if the class is exported from a module and you are 
  604.     executing in the main dictionary, it gives the xt of the imported word, 
  605.     without accessing the module. This can be useful if you just want to 
  606.     identify a class without needing all the class info. If you are 
  607.     executing in the module, however, you will get the xt of the class in 
  608.     the module. The general rule is that the returned xt will always be the 
  609.     same as if you had just ticked the classname, wherever you are 
  610.     executing.
  611.  
  612. >FLOAT  n -- flt          FloatingPoint/Nuc2.asm
  613.     Converts the integer to a float.
  614.  
  615. >IN  -- a-addr          Compiler/Nuc2.asm
  616.     A variable.  to-in  a-addr is the address of a cell containing the offset
  617.     in characters from the start of the input buffer to the start of the parse
  618.     area.
  619.  
  620. >NAME  xt -- nfa          Compiler/Nuc2.asm
  621.     Returns the name field address (nfa) for the given xt.
  622.  
  623. >NUMBER  ud1 addr1 len1 -- ud2 addr2 len2       Core/Nuc2.asm
  624.  
  625. >ORIGIN  x y --          QuickDraw/Nuc2.asm
  626.     Calls toolbox SetOrigin.
  627.  
  628. >PTR  addr -- n          Memory/Nuc2.asm
  629.     In our present system, this is an alias for @.
  630.  
  631. >R  n --          Stack/Nuc2.asm
  632.     Pushes the top stack value to the return stack.
  633.  
  634. >STR255  addr1 len addr2 -- addr2          Strings/Base
  635.     Converts text beginning at addr1 for len characters to a str255 type 
  636.     string at addr2.
  637.  
  638. ?#xtS  n1 n2 --          Compiler/Struct
  639.     Used to check that the right number of stacked xts is being passed in.
  640.  
  641. ?>CLASS  obj -- class          OOPprimitive/Class
  642.     Converts the pointer to an object to a pointer to its class. Aborts if 
  643.     failure.
  644.  
  645. ?>ClassInMod  class -- class'          Compiler/Nuc2.asm
  646.     Converts a class address to the corresponding class address in a 
  647.     module, if the class is exported, and holds the module. If the class 
  648.     isn't exported, does nothing.
  649.  
  650. ?CLASS  --          OOPprimitive/Class
  651.     Error if not compiling a class definition.
  652.  
  653. ?COMP  --          Compiler/Nuc2.asm
  654.     Prints message: "compilation only" if not compiling, that is, if state 
  655.     is not zero
  656.  
  657. ?DEFN  n1 n2 --          Errors/Nuc2.asm
  658.     Prints message: "unpaired conditionals" if n1 does not equal n2. 
  659.     Message indicates that compiled conditionals do not match, such as an 
  660.     IF without a THEN.
  661.  
  662. ?DO  end beg --          ControlStructures/Nuc2.asm
  663.     Marks beginning of ?DO ... LOOP sequence. Will not execute even once if 
  664.     end ≤ beg. See DO.
  665.  
  666. ?DUP  n -- n n | 0 -- 0          Stack/Nuc2.asm
  667.     Duplicates only if non-zero.
  668.  
  669. ?ERROR  b --  : lit          Errors/base
  670.     If b is true, aborts and displays given string number (a literal) from 
  671.     the mops.rsrc file.
  672.  
  673. ?EVENT  eventMask -- b          Events/Nuc2.asm
  674.     Calls the Toolbox Event Manager routine EventAvail to test for the 
  675.     event(s) specified by eventMask. If an event is available, leaves a 
  676.     true flag; otherwise, leaves a false flag.
  677.  
  678. ?EXEC  --          Errors/Nuc2.asm
  679.     Issues an error message if not in interpret state.
  680.  
  681. ?EXIT  ? --          ControlStructures/Nuc2.asm
  682.     Equivalent to IF EXIT THEN.
  683.  
  684. ?PAIRS  n1  n2 --          System/Nuc2.asm
  685.     Prints message: "unpaired conditionals" if n1 does not equal n2. 
  686.     Message indicates that compiled conditionals do not match, such as an 
  687.     IF without a THEN.
  688.  
  689. ?PAUSE  --          Events/Nuc.asm
  690.     A system vector.  Normally defined as ?p (see definition of ?p in file
  691.     struct), which will look for a keystroke to pause the current activity
  692.     and then continue only if the spacebar is pressed.  Used when listing
  693.     words to the console.
  694.  
  695. ?RDEPTH  --          Errors/base
  696.     Prints message: "Return Stack Overflow" and executes an abort if the 
  697.     return stack is too close to its maximum depth.
  698.  
  699. ?RTNAEPMISSED  w:xx rc -- w:rc'          Events/Nuc2.asm
  700.     This can be called after calling GotParms? to convert the return code 
  701.     from that word to the appropriate return code to return to the caller 
  702.     of the handler. If GotParms? returns false, that means we missed a 
  703.     parm, so we return -1715. If GotParms? returned anything non-zero, that 
  704.     means we got all the parms, so we return zero.
  705.  
  706. ?STACK  --          Errors/Nuc2.asm
  707.     Prints message: "empty stack" and executes an abort if underflow has 
  708.     occurred on the parameter stack. Underflow may occur if a word or 
  709.     method expects more parameters than are provided.
  710.  
  711. ?TERMINAL  --          Events/Nuc2.asm
  712.     Performs a 40 ?Event. This word is used in class Mouse, and in the 
  713.     utility word ?pause to test for a keyboard event.
  714.  
  715. @  addr -- n          Memory/Nuc2.asm
  716.     fetches 32-bit value at address
  717.  
  718. @ABS  addr -- abs-addr          Compiler/Nuc2.asm
  719.     addr is the address of a relocatable address (i.e. where the 
  720.     relocatable address itself is located, not where it points to). Fetches 
  721.     this address and converts it to absolute. Gives an error if it isn't a 
  722.     valid relocatable address.
  723.  
  724. @VAL  --          Compiler/Base
  725.     Compiles a number from input stream.
  726.  
  727. @WORD  -- addr          Compiler/Base
  728.     Retrieves next blank-delimited word from input stream.
  729.  
  730. @XY  -- x y          QuickDraw/Nuc2.asm
  731.     Via a toolbox call to GetPen, leaves the x and y coordinate of the 
  732.     graphics pen.
  733.  
  734. ABORT  --          Errors/Nuc2.asm
  735.     standard
  736.  
  737. ABORT"  b --   : textString"          Errors/Nuc2.asm
  738.     Prints the text string and executes an abort, if the boolean is true. 
  739.     Useful in debugging and error reporting. At least one space must follow 
  740.     the first quote. Can be used in colon definition only.
  741.  
  742. ABORTVEC  --          System/Nuc.asm
  743.     A system vector. Contains cl3, defined in file Objinit.
  744.  
  745. ABOUTVEC  --          Menus/Frontend
  746.     The first action handler for our AppleMenu object, since it is a vect 
  747.     we can reuse in an application.
  748.  
  749. ABS  n -- |n|          Arithmetic/Nuc2.asm
  750.     absolute value (not antilock brake system)
  751.  
  752. ABS>  --  : word          Arithmetic/args
  753.     A floating point prefix operator. Changes to absolute value. Use for 
  754.     fvalues, local fvariables, named input parameters. Not for ints.
  755.  
  756. ACCEPT  addr n1 -- n2       Core/Nuc2.asm
  757.     ANSII   Receive a string of at most n1 characters.
  758.  
  759. ACTV-EVT  -- false          Events/Event
  760.     An action word for fevent. Handles activate and deactivate events by 
  761.     sending a late bound enable:and disable: messages to the current window 
  762.     (but only if it is an application window).
  763.  
  764. ACTW  -- wptr | 0          Events/Window
  765.     A value. Indentifies any active Mops window which should be idled. Will 
  766.     be set zero if we have, say, a dialog as the front window, but NOT if 
  767.     we're switched into the background.
  768.  
  769. ADDR:  -- ^base          OOP/Class
  770.     A method. Returns the address of the beginning of an object's ivars.
  771.  
  772. AEErrorVec  --          Events/Event
  773.     A vect. Called when an AppleEvent handler returns. Default is (AEerr).
  774.  
  775. AEhandler  ^AE ^AEReply RefCon --          Events/Nuc2.asm
  776.     Put at the start of an AppleEvent handler proc. Pops the parms into the 
  777.     appropriate locations.
  778.  
  779. AGAIN  --          ControlStructures/Nuc2.asm
  780.     Standard. Marks bounds of BEGIN ... AGAIN loop.
  781.  
  782. ALIGN  --          Compiler/Nuc2.asm
  783.     If the DP is odd, adds one to it.
  784.  
  785. ALIGN-DP  --          Compiler/Nuc2.asm
  786.     Same as ALIGN.
  787.  
  788. ALIGNED  addr -- even-addr          Memory/Nuc2.asm
  789.     Increments addr by one if it is odd, leaving the next address. You can 
  790.     use align to make sure the 68000 will not try to access memory 
  791.     beginning at an odd address, which can cause a fatal error.
  792.  
  793. ALLOT  n --          Compiler/Nuc2.asm
  794.     Reserves n additional bytes for the code field of the last defined 
  795.     dictionary entry.
  796.  
  797. AND  n1 n2 -- and          Arithmetic/Nuc2.asm
  798.  
  799. AND>  n --  : word          Arithmetic /args
  800.     A prefix operator. Logically ands with n. Use for values, local 
  801.     variables, named input parameters. Not for floats.
  802.  
  803. ANTILOG  flt1 -- flt2          FloatingPoint/floating point
  804.     Antilog ( 10^x ) of x
  805.  
  806. APPINIT  --          Applications/Objinit
  807.     APPINIT is the startup word that we execute via ObjInit in installed 
  808.     applications. Performs a filint and sizes fwind to our screen if we are 
  809.     using fwind.
  810.  
  811. AppleEvents?  -- b          Events/Nuc2.asm
  812.     A value. Set True by the startup code if AppleEvents are available.
  813.  
  814. APPLEMEN  -- obj          Menus/FrontEnd
  815.     The standard AppleMenu object. Need only send the getnew: message at 
  816.     runtime to activate. Note you must copy the MENU resource #1 into an 
  817.     installed application before this will run, otherwise bomb city.
  818.  
  819. APPLEMENU  --  : name          Menus/MenuMod.txt
  820.     A standard class, subclass of menu. An applemenu facilitates standard 
  821.     apple menu support by filling the menu with all of the desk accessories 
  822.     when a getnew: message is sent. The Mops applemenu object is applemen.
  823.  
  824. APPWIND?  -- b          Events/Event
  825.     True if this is an application window. This check is necessary for 
  826.     non-multifinder systems while calling WaitNextEvent.
  827.  
  828. ARCTAN  flt1 -- flt2          FloatingPoint/floating point
  829.     Computes arctangent, given radians.
  830.  
  831. ArithErr  strID --          System/Nuc.asm
  832.     A system vector.  Normally contains DIE.  Is called upon division by zero.
  833.     See Zdiv in file Nuc1.asm.
  834.  
  835. ARRAY  #elems --  : name          OOP/Struct
  836.     A standard class. ARRAY is the basic 4-byte cell one-dimension array. 
  837.     Class is INDEXED.
  838.  
  839. ARROWCURS  --          Quickdraw/QD
  840.     Sets the cursor to this. Merely calls Toolbox InitCursor.
  841.  
  842. ASMCALL  addr len --          Toolbox/tool.txt
  843.     Assembles the trap call to the Toolbox routine named by the string.
  844.     Note that SaveA5 and RstA5 are not called as for CALL.  This may
  845.     be ok for those toolbox routines which are not A5 sensitive.
  846.  
  847. ASYNCH  --          Files/Files
  848.     Sets value asynch? to true.
  849.  
  850. ASYNCH?  -- b          Files/Files
  851.     A value. True if performing an asynchronous i/o operation.
  852.  
  853. BASE  -- n          Arithmetic/Nuc2.asm
  854.     This value contains the current number base used for the input and 
  855.     output conversions.
  856.  
  857. BE  --          Compiler/base
  858.     A primitive for implementing become.
  859.  
  860. BECOME  --  : word          Events /base
  861.     BECOME allows restarting at a given word, with all stacks empty. This 
  862.     is necessary in menu handlers and other areas that could create 
  863.     indefinite nesting situations.
  864.  
  865. BECOMExt  --  :  word          Compiler/base
  866.     A system vect used to implement become.
  867.  
  868. BEEP  dur --          Sound/Nuc2.asm
  869.     Beeps the Macintosh's speaker for dur ticks (60ths of a second).
  870.     No it doesn't.  dur is ignored and it gives a beep of duration
  871.     based on the control panel setting. But we retain the need for
  872.     *something* on the stack for backwards compatibility.
  873.     Simply calls Toolbox SysBeep.
  874.  
  875. BEGIN  --          ControlStructures/Nuc2.asm
  876.     standard. Marks the beginning of a BEGIN ... 
  877.     (WHILE/NWHILE/UNTIL/NUNTIL/AGAIN) looping structure.
  878.  
  879. BIG#  -- $7FFFFFFF          System/Nuc2.asm
  880.     A constant.
  881.  
  882. BIND_WITH  obj --<selector> obj-modified  xt          OOP/Class
  883.     If you are late-binding in a loop, it can be much faster if you do the 
  884.     bind just once, then reuse the resulting xt each time in the loop. This 
  885.     way you only have to perform the method search once. To bind initially 
  886.     and get the xt, use BIND_WITH. Usage: (savext and obj-mod are values or 
  887.     locals). (get object's address) bind_with someSelector: -> savext -> 
  888.     obj-mod. (in the loop) obj-mod savext ex-method.
  889.  
  890. BL  -- 32          Strings/Nuc2.asm
  891.     A constant.
  892.  
  893. BLANKS  addr n --          Strings/Nuc2.asm
  894.     Fills memory with blanks (ascii 32) starting at addr for n bytes.
  895.  
  896. BOOL  --  : name          OOP/Struct
  897.     A standard class. Subclass of byte. Note that since the datalength of 
  898.     aMops class bool is 1, this class should not be used to map into a 
  899.     Toolbox record of type BOOLEAN because the Pascal type boolean has a 
  900.     length of 2 (Use the Mops class INT for a Toolbox boolean).
  901.  
  902. BOTTOM  -- n          Console/Nuc2.asm
  903.     Computes a quantity needed by the console.
  904.  
  905. BOUNDS  addr cnt -- limit addr          Controlstructures/Nuc2.asm
  906.     Equivalent to OVER + SWAP. Useful for setting up many DO loops.
  907.  
  908. BRESET  addr bit# --          Memory/Nuc2.asm
  909.     Clears the bit. bit# can be >8.
  910.  
  911. BSET  addr bit# --          Memory/Nuc2.asm
  912.     Sets the bit. bit# can be >8.
  913.  
  914. BTEST  addr bit# -- b          Memory/Nuc2.asm
  915.     Tests the bit and returns true if the bit is set, false otherwise.
  916.  
  917. BTOGGLE  addr bit# --          Memory/Nuc2.asm
  918.     Inverts the bit. bit# can be >8.
  919.  
  920. BUF255  -- addr          Strings/Base
  921.     A 256-byte buffer for str255 operations.
  922.  
  923. BUSY  -- n          System/Nuc2.asm
  924.     A value. FCB of file involved in asynchronous I/O, or zero if none. Set 
  925.     from high level, not from here. Cleared here though, by the completion 
  926.     routine.
  927.  
  928. BYE  --          System/Nuc2.asm
  929.     Closes open files and returns control to the Finder via ExitToShell.
  930.  
  931. BYTE  --  : name          OOP/Struct
  932.     A standard 1-byte variable class.  See also UBYTE
  933.  
  934. BYTES  n --  : ivarname          OOP/Class
  935.     Bytes is used as the ivar allocation primitive for basic classes. 
  936.     Allocates n bytes as a named instance variable of an object. You can 
  937.     use bytes to map a Toolbox data structure as an object when named 
  938.     access to some of the fields is not needed (but you must know the 
  939.     proper length).
  940.  
  941. C!  c addr --          Memory/Nuc2.asm
  942.     Stores given 8-bit number to byte at given address.
  943.  
  944. C,  w --          Compiler/Nuc2.asm
  945.     Compiles 1-byte c into the next available dictionary.
  946.  
  947. C@  addr -- c          Memory/Nuc2.asm
  948.     Fetches 8-bit value from given address. Does not sign extend to 32-bits.
  949.  
  950. C@X  addr -- c          Memory/Nuc2.asm
  951.     Fetches 8-bit value from given address. Sign extends to 32-bits.
  952.  
  953. CALL  --  :  TrapName          Toolbox /tool.txt
  954.     Used to compile a call to a Macintosh Toolbox routine. Simply follow 
  955.     call with the name of the routine. Compilation only.  Note that the
  956.     toolbox call will be preceded with a call to SavA5 and will be
  957.     followed by RstA5.  See ASMCALL to avoid SavA5 and RstA5.
  958.     See FCALL for low level File Manager trap calls.
  959.  
  960. CallFirst  --  : methodname:          OOP/Call1&Lmod.txt
  961.     The next method definition will always execute the method indicated by 
  962.     methodname: BEFORE it is executed by a subclass. Provides a way for 
  963.     superclasses to limit the extent to which subclasses may override a 
  964.     method.
  965.  
  966. CallLast  --  : methodname:          OOP/Call1&Lmod.txt
  967.     The next method definition will always execute the method indicated by 
  968.     methodname: AFTER it is executed by a subclass. Provides a way for 
  969.     superclasses to limit the extent to which subclasses may override a 
  970.     method.
  971.  
  972. CASE  n --          ControlStructures/base
  973.     Begins a CASE .. OF .. ENDOF ... ENDCASE structure.  Also see RANGEOF.
  974.     We normally normally use this form of case when values to be compared
  975.     to n are computed at runtime.  See also CASE[ and SELECT{
  976.     example use:
  977.     ...
  978.     CASE  x     OF ...        ENDOF
  979.           y z RANGEOF  ...    ENDOF
  980.           ( optional default actions can go here, n is on the stack at this
  981.             point, you can use it but you must put *something* back on
  982.             the stack so ENDCASE will have something to consume)
  983.     ENDCASE ...
  984.  
  985. CASE?  -- b          Strings/StrUtilities
  986.     A value. True if case to be significant in comparisons done by CMPSTR 
  987.     and string+ objects (does not affect string objects).
  988.  
  989. CASE[  n --          ControlStructures/casemod.txt
  990.     Begins a CASE[ .. ]=> .. DEFAULT=> ... ]CASE structure.  Also see RANGE]=>
  991.     ], and range],
  992.     We use this form of case when values to be compared to n are known at 
  993.     compile time.   See also CASE and SELECT{.  Important, compare-to values
  994.     are limited to -32768 through +32767.  
  995.     example use:
  996.     ...
  997.     CASE[  x     ]=> ...
  998.         [  y z RANGE]=>  ...
  999.         [ a ],  [ b ],  [ d f range],  [ h ]=> ...
  1000.         DEFAULT=> ( DEFAULT=> is mandatory. Default actions go here, n is on
  1001.                     the stack at this point, you normally will consume n
  1002.                     here because , unlike ENDCASE, ]CASE will *not* consume
  1003.                     the top stack item.)
  1004.     ]CASE ...
  1005.  
  1006. CATCH  xt -- n          Errors/Nuc2.asm
  1007.     Standard. Executes xt and returns 0 if all is OK, or n if THROW was 
  1008.     executed with n.
  1009.  
  1010. CELL+  addr1 -- addr2          Memory/Base
  1011.     Add the size of a cell (currently 4) to addr1.
  1012.  
  1013. CELL-  addr1 -- addr2          Memory/Base
  1014.     Subtracts the size of a cell (currently 4) from addr1.
  1015.  
  1016. CELLS  n1 -- n2          Memory/Base
  1017.     n2 is the size of n1 cells.
  1018.  
  1019. CFAS(  --  :  name1 name2 etc.          Compiler/base
  1020.     Synonym for xts{.
  1021.  
  1022. CFAS{  --  :  name1 name2 etc.          Compiler/base
  1023.     Synonym for xts{.
  1024.  
  1025. CHAR  -- n  : char          Strings/Base
  1026.     Leave ascii value of next char in stream.  Interpretation only.
  1027.     Use [CHAR] inside a definition.  ANSII  See &
  1028.  
  1029. CHAR+  addr1 -- addr2          Memory/Base
  1030.     Adds the size of a character (currently 1) to addr1.
  1031.  
  1032. CHARS  n1 -- n2          Memory/Base
  1033.     n2 is the size of n1 chars.  In the current implementation this is 
  1034.     effectively a no-op.
  1035.  
  1036. CHKCLASS  xt -- xt          OOP/Class
  1037.     Aborts and issues error message if the xt does not refer to a class.
  1038.  
  1039. CHKSAME  obj -- obj          OOP/Class
  1040.     A check that two objects are of exactly the same class. Aborts with 
  1041.     error message if not.
  1042.  
  1043. CL1  --          Oopprimitive/Class
  1044.     Cleans up the class compiler data on an abort.
  1045.  
  1046. CL2  --          System/Files
  1047.     Next cleanup word - clean up all file stuff on abort, as well as 
  1048.     whatever we were doing before ( in CL1 ).
  1049.  
  1050. CL3  --          System/Objinit
  1051.     Another clear action for abortvec. Does a key!, unhilites a menu, sets 
  1052.     arrowcurs, and finally calls unmod and cl2.
  1053.  
  1054. CL>LEN  #els class -- #els len          OOPprimitive/Class
  1055.     Gets data length of object given #els and class.
  1056.  
  1057. CLASS:  -- class          OOP/Class
  1058.     A method. Returns the class pointer for an object.
  1059.  
  1060. CLASS?  xt? -- xt? b          Compiler/Nuc2.asm
  1061.     Returns true if the xt refers to a class.
  1062.  
  1063. CLASSINIT:  --          OOP/Class
  1064.     Our standard constructor method. The default message that is ALWAYS 
  1065.     sent to an object at time of instantiation, even ivars. Note that a 
  1066.     classinit: method should not expect any stack parameters (actually, it 
  1067.     will work for dictionary objects, but it won't work for ivars, so it is 
  1068.     best not to do this).
  1069.  
  1070. CLASS_IS  --  : classname          OOP /Class
  1071.     The normal object pointer syntax is ObjPtr ZZZ    class_is someClass 
  1072.     Thereafter, any messages sent to zzz are early-bound to the object that 
  1073.     zzz points to at the time the message executes. Also, see set_to_class .
  1074.  
  1075. CLRCOMP  --          Compiler/Nuc2.asm
  1076.     Called by error routines, also by semicolon. Clears all the compilation 
  1077.     flags to their initial state.
  1078.  
  1079. ClrFCB  fcb --          Files/base
  1080.     Erases a parm block up to the FSSpec record, except for the filename 
  1081.     pointer.
  1082.  
  1083. CLS  --          Console/Nuc2.asm
  1084.     Clears the current window and leaves cursor in upper left corner.
  1085.  
  1086. CMOVE  src dest cnt --          Memory/Nuc2.asm
  1087.     Copies cnt bytes from src address to dest address. Cnt must be between 
  1088.     0 and 64K. Use move for a more general cnt.
  1089.  
  1090. CMPSTR  addr1 len1 addr2 len2 -- n          Strings/StrUtilities
  1091.     Compares 2 strings. Case is significant if CASE? is set to true. 
  1092.     Returns: -1 if first string low, 0 if strings are equal, 1 if first 
  1093.     string high. We assume the lengths are both less than 64K. Similar to 
  1094.     $=, but faster.
  1095.  
  1096. CODE  --  :  name          Assembler/Nuc2.asm
  1097.     Creates a header for a code definition. In our system it is actually a 
  1098.     synonym for COLHDR, since there's really no essential difference 
  1099.     between code and colon definitions.
  1100.  
  1101. COLHDR  --          Compiler/Nuc2.asm
  1102.     Lays down the header for a colon definition.
  1103.  
  1104. COMPILE,  cfa --          Compiler/Nuc2.asm
  1105.     ANSI synonym for (COMP)
  1106.  
  1107. CONSTANT  n --  :  name          Memory/Nuc2.asm
  1108.     standard. Creates a dictionary entry whose runtime action is to place n 
  1109.     on the stack.
  1110.  
  1111. CONTBOT  -- y          Quickdraw/Nuc2.asm
  1112.     Returns the bottom of the content region for the front window.
  1113.  
  1114. CONTEXT  -- addr          Compiler/Nuc.asm
  1115.     
  1116.  
  1117. CONTTOP  -- y          Quickdraw/Nuc2.asm
  1118.     Returns the top of the content region for the front window.
  1119.  
  1120. COPYH  --          System/Nuc2.asm
  1121.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1122.     and PTR classes. Should not be called directly from anywhere else.
  1123.  
  1124. COPYTO:  obj --          OOP/Class
  1125.     A method. Copies the ivar part of the passed in object to self. Doesn't 
  1126.     check type - be careful.
  1127.  
  1128. COS  flt1 -- flt2          FloatingPoint/floating point
  1129.     Computes cosine, given radians.
  1130.  
  1131. COT  flt1 -- flt2          FloatingPoint/floating point
  1132.     Computes cotangent, given radians.
  1133.  
  1134. COUNT  str255 -- addr len          Strings/Nuc2.asm
  1135.     Converts a Pascal type string ( str255 ) to the addr len format.
  1136.  
  1137. CPADDR  -- addr          System/Nuc2.asm
  1138.     Completion routine address, or zero if none. Also servesas a flag that 
  1139.     the next op is to be asynchronous.
  1140.  
  1141. CR  --          Console/Nuc2.asm
  1142.     "Prints" a carriage-return/linefeed (cr/lf) on the screen. If system 
  1143.     vector pcrvec is vectored to pcr, by executing +print, the cr sends a 
  1144.     cr/lf to the printer.
  1145.  
  1146. CREATE  --  : name          Compiler/Nuc2.asm
  1147.     This is now Forth-83/ANSI. Creates a dictionary header using the next 
  1148.     word in the input stream. If this new word is executed, it returns its 
  1149.     pfa. What we actually do is to call HEADER, then add in the appropriate 
  1150.     handler code.
  1151.  
  1152. CREATE_OBJ  --  :  name          Compiler/Nuc2.asm
  1153.     Creates a dictionary header for an object. As for CREATE, but we add 
  1154.     the handler code for objects instead.
  1155.  
  1156. CREPLACE  c mask addr --          Memory/Nuc2.asm
  1157.     Replaces bits in the addressed byte with the corresponding bits from c, 
  1158.     in those positions where the mask has ones. Dont' use. Use bset, etc.
  1159.  
  1160. CRESET  c addr --          Memory/Nuc2.asm
  1161.     Clears bits in byte at addr, corresponding to the bits SET in c.
  1162.  
  1163. CROSSCURS  --          Quickdraw/QD
  1164.     Sets the cursor to this.
  1165.  
  1166. CRVEC  --          System/Nuc2.asm
  1167.     A system vector.  Set (cr) with OLDVECS in effect, set to xcr
  1168.     with NEWVECS.
  1169.  
  1170. CSET  c addr --          Memory/Nuc2.asm
  1171.     ORs c into the byte at addr.
  1172.  
  1173. CSTATE  -- b          Compiler/Nuc2.asm
  1174.     This value is a boolean which is true while a class is being compiled. 
  1175.     It is analogous to state which is true while a colon word is being 
  1176.     compiled.
  1177.  
  1178. CTOGGLE  c addr --          Memory/Nuc2.asm
  1179.     Exclusive-ORs c into the byte at addr.
  1180.  
  1181. CURR-DEF  -- n           Compiler/Nuc2.asm
  1182.     A value.
  1183.  
  1184. CURS  -- -1          QuickDraw/Nuc2.asm
  1185.     A value.
  1186.  
  1187. CURSOR  n --  : name          Quickdraw/QD
  1188.     A defining word for cursors, uses the Toolbox calls GetCursor and 
  1189.     SetCursor at runtime execution of daughter words.
  1190.  
  1191. CvtClip  --          Events/Event
  1192.     A vect. Called for clip conversion.
  1193.  
  1194. DATETIME  -- n          Time/base
  1195.     Leaves the value of the Mac global variable Time on the stack. This is 
  1196.     the number of seconds since midnight, January 1, 1904.
  1197.  
  1198. DB  --          Debugging/Nuc2.asm
  1199.     Calls MacsBug or whatever debugger may be installed (A9FF trap).
  1200.  
  1201. DBLTICKS  -- n          Events/Event
  1202.     Returns the double-click interval in ticks via the Mac global variable 
  1203.     DoubleTime.
  1204.  
  1205. DECIMAL  --          Arithmetic/Nuc2.asm
  1206.     Sets base to 10.
  1207.  
  1208. DEEP_CLASSINIT:  --     OOP/Class
  1209.     Called automatically whenever an object is created.  Does a classinit:
  1210.     on each nested ivar.  Use for totally reinitializing an object.
  1211.  
  1212. DEFAULT=>  -- n          ControlStructures/casemod.txt
  1213.     Used in a CASE[ construct.  Mandatory.
  1214.  
  1215. DEFAULT{  -- n          Controlstructures/Modules
  1216.     Used in a select{ construct.  Optional.
  1217.  
  1218. DEFINED?  -- addr n  : word          Compiler/Nuc2.asm
  1219.     Defined as MWORD FIND. Does a FIND on the next word in the input stream.
  1220.  
  1221. DEG2RAD  flt1 -- flt2          FloatingPoint/floating point
  1222.     Converts degrees to radians.
  1223.  
  1224. DEL  --          System/QD
  1225.     Draws a downward-pointing arrow to the right of and below the current 
  1226.     pen position - we need this for pop-up menus. Any mathematician will 
  1227.     recognize this symbol - hence the name.
  1228.  
  1229. DEPTH  -- n          Stack/Nuc2.asm
  1230.     Leaves the number of items on the stack prior to executing depth.
  1231.  
  1232. DESK  --          Events/Event
  1233.     Desktop click handler - do nothing.
  1234.  
  1235. DFA  class -- dfa          OOPprimitive/Class
  1236.     Given a pointer to a class, returns the data field address. First 2 
  1237.     bytes are the data length, second 2 bytes are the width of the indexed 
  1238.     elements.
  1239.  
  1240. DFLT-DIE  n --          Errors/Nuc.asm
  1241.     A system vector.  Normally contains (ddie).
  1242.  
  1243. DFLT-ERR  n --          Errors/Nuc2.asm
  1244.     prints "Error # n" in console window.  Used by various error
  1245.     handling words in the Mops system.
  1246.  
  1247. DIALOG  --  : name          Alerts/Dialogs/DialogMod.txt
  1248.     A standard class, subclass of x-array. The Mops approach to handling 
  1249.     dialogs.
  1250.  
  1251. DICADDR  --  : name          OOP/Struct
  1252.     DICADDR is a relocatable dictionary address class - use to store 
  1253.     non-executable dictionary addresses.
  1254.  
  1255. DICSIZE  -- n          Compiler/Nuc2.asm
  1256.     A value. Set by the startup code to the actual space allocated for the 
  1257.     dictionary
  1258.  
  1259. DIE  strID --          System/Nuc.asm
  1260.     A system vector. Normally contains (DDIE).
  1261.  
  1262. DIGIT  c base -- n2 t | f          Arithmetic /Nuc2.asm
  1263.     Converts the ASCII character c using base into its binary equivalent 
  1264.     n2, and leaves a true flag; if conversion fails, leaves a false flag 
  1265.     only. Digit is a primitive used by (number).
  1266.  
  1267. DIRFIND  n fcb --          Files/Nuc2.asm
  1268.     Calls the HFSDispatch Procedure of the Mac File Manager. n is the call 
  1269.     number and fcb is the file parameter block. See IM-IV.
  1270.  
  1271. DISK-EVT  -- false          Events/Event
  1272.     An action word for fevent. Handles a disk insert event.
  1273.  
  1274. DISPL!  src dst --          Compiler/Nuc2.asm
  1275.     Makes the source address src relative (long form), and stores it at the 
  1276.     destination address dst.
  1277.  
  1278. DISPL,  addr --          Compiler/Nuc2.asm
  1279.     Makes addr relative (long form), and adds it to the dictionary.
  1280.  
  1281. DISPLACE  addr -- addr'          Compiler/Nuc2.asm
  1282.     Takes the longword at addr, and adds it to addr itself to give addr'. 
  1283.     Thus the word at addr is in effect a relative displacement from its own 
  1284.     address. We use this scheme to link words in the dictionary.
  1285.  
  1286. DLEN&XWID  class -- dlen xwid          OOPprimitive/Class
  1287.     Given a class pointer, retuns the ivar datalength and width of the 
  1288.     indexed elements.
  1289.  
  1290. DLGWIND  -- 1          Windows/Window
  1291.     A constant.
  1292.  
  1293. DO  end beg --          ControlStructures/Nuc2.asm
  1294.     Marks beginning of DO ... LOOP sequence. Will always execute at least 
  1295.     once, even if end ≤ beg. See ?DO. DO loops are slightly different, 
  1296.     although the change won't affect most existing code. The loop is 
  1297.     considered to be finished if the index crosses the boundary between the 
  1298.     limit and the limit minus one, in either direction. The main effect is 
  1299.     to make loops go around one more time if the index is being counted 
  1300.     down.
  1301.  
  1302. doAEhandler  ^AE ^AEReply RefCon --          Events/Nuc1.asm
  1303.     Called from AEhandler to set things up at the start of a handler.
  1304.  
  1305. DOCWIND  -- 0          Windows/Window
  1306.     A constant.
  1307.  
  1308. DODSK  item# -- item#          Menus/Menu
  1309.     Executes the desk accessory for an item. Mops will use this as the 
  1310.     second action handler for the object applemen.
  1311.  
  1312. DOES>  --          Compiler/Nuc2.asm
  1313.     Defines the runtime action of a word defined with <builds.
  1314.  
  1315. DOWN  n2 n3 n1 -- n1 n2 n3          Stack/Nuc2.asm
  1316.     Reverse of rot. Sometimes called -rot.
  1317.  
  1318. DO_ET  --          Compiler/base
  1319.     Primitive used by type{.
  1320.  
  1321. DP  -- addr          Compiler/Nuc.asm
  1322.     A value. Leaves the address of the next memory location above the 
  1323.     dictionary.
  1324.  
  1325. DPL  -- n          Console /Nuc2.asm
  1326.     Returns the number of digits to the right of the decimal on double 
  1327.     integer input. This may be used to compute the output column location 
  1328.     of a decimal point in user generated formatting. The default value on 
  1329.     single number inputs is -1.
  1330.  
  1331. DROP  n --          Stack/Nuc2.asm
  1332.     
  1333.  
  1334. DUMP  addr len --          Memory/Struct
  1335.     Displays the contents of memory beginning at addr for len bytes in a 
  1336.     hex and ascii format. Note that the \/ mark points to the requested 
  1337.     address (the dump may start at an address other than addr).
  1338.  
  1339. DUMP:  --          OOP/Class
  1340.     A method. Performs a formatted dump of a class.
  1341.  
  1342. DUP  n -- n n          Stack/Nuc2.asm
  1343.     
  1344.  
  1345. E  -- flt          FloatingPoint/floating point
  1346.     An fcon. Returns the base of the system of natural logarithms, 
  1347.     2.71828...
  1348.  
  1349. E.  flt --          FloatingPoint/floating point
  1350.     Same as 26 e.r
  1351.  
  1352. E.R  flt wid --          FloatingPoint/floating point
  1353.     Prints the floating point number in scientific notation in a field wid 
  1354.     characters wide.
  1355.  
  1356. ECHO?  -- b          Console/Base
  1357.     A value. Set true to echo loads to screen.
  1358.  
  1359. ECHOVEC  --          Console /Nuc2.asm
  1360.     This system vector is executed in Mops to echo keystrokes. When Mops 
  1361.     starts up, echovec is vectored to (emit) which prints a character on 
  1362.     the screen only. Selecting Echo to Printer from the Mops menu vectors 
  1363.     echovec to echo, which prints a character on the screen and printer 
  1364.     (this is the same as +print).
  1365.  
  1366. EDITMENU  --  : name          Menus/MenuMod.txt
  1367.     A standard class, subclass of menu. An editmenu facilitates standard 
  1368.     desk accessory support by first calling SystemEdit when an exec: 
  1369.     message is sent so that any active DA first gets a go at it. The Mops 
  1370.     editmenu object is editmen.
  1371.  
  1372. ELSE  --          ControlStructures/Nuc2.asm
  1373.     standard. Use with IF and NIF.
  1374.  
  1375. EMIT  c --          Console/Nuc2.asm
  1376.     Prints the character (lower 8 bits of the number) on the stack to the 
  1377.     screen or printer by executing the system vectors emitvec and pemitvec. 
  1378.     Whether the screen and/or printer are used depends on the contents of 
  1379.     emitvec and pemitvec. When Mops starts up, emitvec is vectored to 
  1380.     (emit) and pemitvec is vectored to drop. So, the default action of emit 
  1381.     is to print a character on the screen only. Selecting Echo to Printer 
  1382.     from the Mops menu vectors echovec to echo, which prints a character on 
  1383.     the screen and the printer (this is the same as +print). The system 
  1384.     value OUT is incremented for each character transmitted.
  1385.  
  1386. EMITVEC  --          Console /Nuc2.asm
  1387.     This system vector contains the xt of the word that performs character 
  1388.     output to the primary device, usually the screen. When Mops starts up, 
  1389.     emitvec is vectored to (emit), the primitive that prints a character on 
  1390.     the screen using the DrawChar routine in QuickDraw.
  1391.  
  1392. ENDCASE  n --          ControlStructures/base
  1393.     Marks end of CASE structure.
  1394.  
  1395. ENDLIST?  chr -- b          Compiler/base
  1396.     Primitive used by type{.
  1397.  
  1398. ENDLOAD  --        Compiler/wherever
  1399.     When loading a file, marks the end of input for that file.  Useful for
  1400.     including instruction and/or examples at the end of a file without
  1401.     concern for using comment notation.
  1402.  
  1403. ENDOF  --          ControlStructures/base
  1404.     Use in CASE structure.
  1405.  
  1406. ENDTRAV?  -- b          Compiler/Struct
  1407.     A value. May be set from within a trav handler to terminate the trav.
  1408.  
  1409. EOF  -- -39          Files/Files
  1410.     A constant. Mac File Manager result code eofErr. Logical end-of-file 
  1411.     reached during read operation.
  1412.  
  1413. ERASE  addr n --          Memory/Nuc2.asm
  1414.     Clears (fills with zeros) memory starting at addr for n bytes.
  1415.  
  1416. EVALUATE  addr len --          Compiler/args
  1417.     ANSI standard. Makes the passed-in string the input stream for 
  1418.     interpretation or compilation, until it is exhausted.
  1419.  
  1420. EVENT  --  : name          Events/Event
  1421.     A system class, subclass of x-array. Our Mops event object is fevent.
  1422.  
  1423. EVENTLOOP  --          Events/Frontend
  1424.     A word you can call as an event loop in many applications.  Properly
  1425.     handles keystrokes for windows with, for example, text edit routines.
  1426.  
  1427. EX-GEN  xt --          Compiler/Nuc2.asm
  1428.     "Execute general". Executes the word with the given xt. The word may be 
  1429.     anything. It is executed by compiling it into a temporary buffer, then 
  1430.     branching there. Slower than Execute, but unlike Execute, will really 
  1431.     execute anything.
  1432.  
  1433. EX-METHOD  obj xt --          Compiler/Nuc2.asm
  1434.     Executes the method with the given xt, using the given object.
  1435.  
  1436. EXECUTE  xt --          Compiler/Nuc2.asm
  1437.     standard
  1438.  
  1439. EXIT  --          ControlStructures/Nuc2.asm
  1440.     Terminates execution of the current word or method, and returns control 
  1441.     to the next higher word on the return stack.
  1442.  
  1443. EXMID  obj selID --          OOPprimitive/Class
  1444.     Executes a method given its sel ID. Used in late binding.
  1445.  
  1446. EXN  xt n --          Compiler/Nuc2.asm
  1447.     is to EX-GEN what (COMPN) is to (COMP). It has the additional parameter 
  1448.     n which is action code for -> ++> etc. Because this can be called from 
  1449.     EX-GEN (which may be executing a prefix op), we use the alternate 
  1450.     execution buffer ExBuf1.
  1451.  
  1452. EXP  flt1 -- flt2          FloatingPoint/floating point
  1453.     Base e exponential.
  1454.  
  1455. EXP1  flt1 -- flt2          FloatingPoint/floating point
  1456.     e**x - 1
  1457.  
  1458. EXP21  flt1 -- flt2          FloatingPoint/floating point
  1459.     2**x - 1
  1460.  
  1461. EXTEND  w -- n          Arithmetic/Nuc2.asm
  1462.     Sign extends a 16 bit number to a 32 bit number, stack alignment is 
  1463.     unaffected
  1464.  
  1465. extra_inits  --          FrontEnd/Struct
  1466.     Executes all of the xts contained in the object init_actions.
  1467.  
  1468. F*  flt1 flt2 -- flt1*flt2          FloatingPoint/floating point
  1469.     standard multiply
  1470.  
  1471. F**  flt1 flt2 -- flt1**flt2          FloatingPoint/floating point
  1472.     General exponentiation - takes 2 floats. Here I think the Neon name was 
  1473.     crazy. But we've still got it for compatibility.
  1474.  
  1475. F+  flt1 flt2 -- flt1+flt2          FloatingPoint/floating point
  1476.     standard addition
  1477.  
  1478. F-  flt1 flt2 -- flt1-flt2          FloatingPoint/floating point
  1479.     standard subtraction
  1480.  
  1481. F.R  flt wid --          FloatingPoint/floating point
  1482.     Prints the floating point number without exponents in a     field wid 
  1483.     characters wide.
  1484.  
  1485. F/  flt1 flt2 -- flt1/flt2          FloatingPoint/floating point
  1486.     standard division
  1487.  
  1488. F0<  flt -- b          FloatingPoint/floating point
  1489.  
  1490. F0<=  flt -- b          FloatingPoint/floating point
  1491.  
  1492. F0<>  flt -- b          FloatingPoint/floating point
  1493.  
  1494. F0=  flt -- b          FloatingPoint/floating point
  1495.  
  1496. F0>  flt -- b          FloatingPoint/floating point
  1497.  
  1498. F0>=  flt -- b          FloatingPoint/floating point
  1499.  
  1500. F2DROP  flt1 flt2 --          FloatingPoint/floating point
  1501.  
  1502. F2DUP  flt1 flt2 -- flt1 flt2          FloatingPoint/floating point
  1503.  
  1504. F<  flt1 flt2 -- b          FloatingPoint/floating point
  1505.     
  1506. F<=  flt1 flt2 -- b          FloatingPoint/floating point
  1507.     
  1508. F<>  flt1 flt2 -- b          FloatingPoint/floating point
  1509.     
  1510. F=  flt1 flt2 -- b          FloatingPoint/floating point
  1511.     
  1512. F>  flt1 flt2 -- b          FloatingPoint/floating point
  1513.  
  1514. F>=  flt1 flt2 -- b          FloatingPoint/floating point
  1515.     
  1516. FABS  flt -- |flt|          FloatingPoint/floating point
  1517.  
  1518. FAE  -- ^AE          events/Nuc.asm
  1519.     A value used to handle AppleEents.
  1520.  
  1521. FALSE  -- b          Arithmetic/Nuc2.asm
  1522.     A constant = 0
  1523.  
  1524. FCALL  --          Toolbox/tool.txt
  1525.     As for CALL, except must be used for low level File Manager
  1526.     toolbox calls.  Will properly setup A0 befor the call
  1527.     and return D0 (the result). See IM II-98.  Note also that
  1528.     the returned result will always be a long, regardless of
  1529.     the information in IM, so the stack need not be realigned
  1530.     after this call.  See example use in file event.
  1531.  
  1532. FCON  flt --  : name          FloatingPoint/Nuc2.asm
  1533.     Fp analog of constant.
  1534.  
  1535. FCONV?  addr len -- flt T  |  -- F          FloatingPoint/floating point
  1536.     Converts the passed-in ASCII string to floating, if possible. I like 
  1537.     this name better than ATOF which Neon had, but change it back if you 
  1538.     want to.
  1539.  
  1540. FDOS$  --  : trap#          Toolbox/Base
  1541.     Compiles a toolbox trap for I/O if the Tools module is not loaded. The 
  1542.     new syntax is, e.g.trap$ fdos$ A000
  1543.  
  1544. FDRECT  -- obj          system/Nuc.asm
  1545.     A value. Unused?
  1546.  
  1547. FDROP  flt --          FloatingPoint/floating point
  1548.  
  1549. FDUP  flt -- flt flt          FloatingPoint/floating point
  1550.  
  1551. fence  -- addr          Compiler/Nuc.asm
  1552.     A value. Leaves the address below which forget will not operate.
  1553.  
  1554. fEvent  -- obj          Events/Event
  1555.     The standard Mops event object. This event is the default (and should 
  1556.     be the only) Event object used by Mops. Actually defined in Nuc.asm, it 
  1557.     is set to class fevent in file events.
  1558.  
  1559. FFA  class -- ffa          OOPprimitive/Class
  1560.     Given a pointer to a class, returns the flag field address.
  1561.  
  1562. fFcb  -- obj          files/Nuc2.asm
  1563.     An object pointer that is set to class file in Files.
  1564.  
  1565. FILE  --  : name          Files/Files
  1566.     A standard class. Used to call Toolbox file routines, has 138 bytes for 
  1567.     a file control block.
  1568.  
  1569. FILE-INSTALL  fcb ftype signature --          Files/base
  1570.     Set file type and signature.
  1571.  
  1572. FILE-MARK  -- -300          Files/Files
  1573.     A constant. Marks the start of a loaded file - we plant some useful 
  1574.     info there. We put the file name in the dic as if it's a definition 
  1575.     name, but use file-mark as a "handler code". Then after that we put the 
  1576.     useful info. See file extrasMod.
  1577.  
  1578. FILL  addr n c --          Memory/Nuc2.asm
  1579.     Beginning at address, fills n bytes with given 8-bit value c.
  1580.  
  1581. FIND  str-addr -- xt flag  |  -- F          Compiler/Nuc2.asm
  1582.     Forth-83/ANSI standard. As in Neon, calls the vectored uFind first, 
  1583.     then simply returns if uFind returns a non-zero n. In all cases, if the 
  1584.     search succeeds, addr' is the xt of the found dictionary entry, and n 
  1585.     is -1 for a non-immediate word and 1 for an immediate word. If the 
  1586.     search fails, n is zero and addr' is the same as str-addr.
  1587.  
  1588. FIND-WINDOW  Tpoint  --  region  ^window          Events/Nuc2.asm
  1589.     Calls the Window Manager routine FindWindow to find the window in which 
  1590.     a mouse-down event occurred at Tpoint, a Toolbox point in global 
  1591.     coordinates. Leaves the region of the window in which the mouse-down 
  1592.     occurred and ^window, the pointer to the window object's private data.
  1593.  
  1594. FINDM  selID classl -- offs xt          OOPprimitive/Class
  1595.     Finds a method in a class.
  1596.  
  1597. FINFO  -- addr          /Nuc2.asm
  1598.     NOTE: This is only valid for systems where no AppleEvents are 
  1599.     available. Therefore if they are available, we return a nil pointer. 
  1600.     Leaves a relative pointer to the Finder information area. The following 
  1601.     code will scan the information block, and print the Vref#, file type, 
  1602.     version and file name for each file passed by the Finder.
  1603.  
  1604. FLOAT>  flt -- n          FloatingPoint/floating point
  1605.     Converts the float to an integer. Rounds.
  1606.  
  1607. FNEGATE  flt -- -flt          FloatingPoint/floating point
  1608.     
  1609. FNF  -- -43          Files/Files
  1610.     A constant. Mac File Manager result code fnfErr. File not found.
  1611.  
  1612. FOR  limit --          ControlStructures/Nuc2.asm
  1613.     Marks beginning of a FOR ... NEXT loop. These are simple loops that 
  1614.     have less overhead than DO loops. The loop index i counts down from 
  1615.     limit-1 to zero. The initial limit must be less than 64K. Uses a DBRA 
  1616.     loop instruction for speed. You can't LEAVE a FOR ... NEXT loop.
  1617.  
  1618. FORGET  -- : word          Compiler/Nuc2.asm
  1619.     Deletes the word from the dictionary and ALL entries above it (i.e., in 
  1620.     higher memory). Issues message "in protected dictionary" if the word is 
  1621.     below fence, and aborts.
  1622.  
  1623. FORWARD  --  : name          Compiler/base
  1624.     Creates a word which is to be defined later with :f, the special colon 
  1625.     compiler for forward-referenced Mops words, because :f makes the word 
  1626.     behave like a colon definition.
  1627.  
  1628. FOVER  flt1 flt2 -- flt1 flt2 flt1          FloatingPoint/floating point
  1629.     
  1630.  
  1631. FPRECT  -- obj          system/Nuc.asm
  1632.     A value. This leaves a system object of class rectangle used in 
  1633.     calculation for scrolling fWind.
  1634.  
  1635. FPU?  -- n          FloatingPoint/Nuc2.asm
  1636.     A value. Set by a _Gestalt call in the startup code to the FPU status.
  1637.  
  1638. FREE  --          System/Nuc2.asm
  1639.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1640.     and PTR classes. Should not be called directly from anywhere else.
  1641.  
  1642. FREEBLK  --          System/Nuc2.asm
  1643.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1644.     and PTR classes. Should not be called directly from anywhere else.
  1645.  
  1646. FVALUE  flt --  : name          FloatingPoint/Nuc2.asm
  1647.     Fp analog of value, can use prefix operators.
  1648.  
  1649. FWIND  -- obj          system/Nuc2.asm
  1650.     The Mops console window, class window.
  1651.  
  1652. FWIND?  -- b          system/Nuc2.asm
  1653.     A value. True if we're using fWind.  Used to control which
  1654.     interface Mops will use upon startup.  Set to true or false
  1655.     for the old(true) or new(false) interface, save the Mops
  1656.     dictionary, and the corresponding interface will be in effect
  1657.     at next launch.
  1658.  
  1659. FWINDACTIVE?  -- b          system/ObjInit
  1660.     A value. True if fWind is the front, active window.
  1661.     
  1662. G->L  point -- point'          Quickdraw/Event
  1663.     Convert a global point to a local point.
  1664.  
  1665. GENERAL  --          OOP/Class
  1666.     Optional class declaration that will allow late binding when this class 
  1667.     is used as an ivar. But note that GENERAL classes may not be used to 
  1668.     map ivars to Mac toolbox calls because the class header information 
  1669.     will be included. INDEXED classes are automatically GENERAL.
  1670.  
  1671. GestaltAvail?  -- b          System/Nuc2.asm
  1672.     A value. Set True by the startup code if the Gestalt trap is available.
  1673.  
  1674. GETDIRID  -- dirID          Files/Files
  1675.     Returns the dirID of the last directory opened by a standard file call. 
  1676.     This is merely the contents of the Mac global variable CurDirStore.
  1677.  
  1678. GETDLEN  obj -- n          OOPprimitive/Class
  1679.     Gets length of object's named ivars.
  1680.  
  1681. GETHSZ  -- n          System/Nuc2.asm
  1682.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1683.     and PTR classes. Should not be called directly from anywhere else.
  1684.  
  1685. GETRES  type resID -- handle          Resources/base
  1686.     Calls GetResource.
  1687.  
  1688. GETSPACE  --          System/Nuc.asm
  1689.     A system vector.
  1690.  
  1691. GETSTRING  id -- addr len          Resources/Base
  1692.     Gets the string from the mops.rsrc file with the given resource ID.
  1693.  
  1694. GLOBAL  -- addr  : globalname          ToolBox/tool.txt
  1695.     When followed by the name of a Mac system global variable, leaves the 
  1696.     memory location. Example: global ticks @ returns the number of ticks 
  1697.     since system startup.
  1698.  
  1699. GOTOXY  x y --          QuickDraw/Nuc2.asm
  1700.     Calls toolbox MoveTo.
  1701.  
  1702. GOTPARMS?  -- rc          Events/Nuc2.asm
  1703.     This can be called at the end of a handler, to check if we got all the 
  1704.     parameters.
  1705.  
  1706. GRAPHPORT  --  : name          Quickdraw/QD
  1707.     A standard class. Used to map into the QuickDraw GraphPort record. But 
  1708.     note that most record members are not named.
  1709.  
  1710. HANDLE  --  : name          OOP/Struct
  1711.     A standard class.
  1712.  
  1713. HANDLEARRAY  #elems --  : name          OOP/Struct
  1714.     A standard class. HANDLEARRAY and HANDLELIST are for the implementation 
  1715.     of collections of heap-based objects. HandleArray has normal array 
  1716.     properties. Use HandleList if the number of elements may grow 
  1717.     arbitrarily large, and if indexing isn't so important. HandleArray also 
  1718.     includes methods to allow the array to be used as a stack - needed for 
  1719.     FileList.
  1720.  
  1721. HANDLELIST  #elems --  : name          OOP/Struct
  1722.     A standard class. HANDLELIST allows the implementation of a list of 
  1723.     heap-based objects. Unlike HANDLEARRAY, the list can be of indefinite 
  1724.     length. We use a heap block to store the handles to the objects 
  1725.     contiguously, rather than have a separate block for each handle and 
  1726.     link them together. This saves on memory overhead and reduces the 
  1727.     number of memory manager calls. It also reflects the assumption that 
  1728.     insertions and deletions into the middle of the list will be 
  1729.     infrequent, as these could be more inefficient than with a linked 
  1730.     scheme. We expect that elements will normally be added to the end, and 
  1731.     probably not removed at all, or not very often.
  1732.  
  1733. HASH  str255 -- n          Compiler/Nuc2.asm
  1734.     Hashes the str255 format string into a 32-bit hash value. Names of 
  1735.     selectors and instance variables are hashed to conserve space.
  1736.  
  1737. HEADROOM  -- n          Compiler/Nuc2.asm
  1738.     Returns the number of bytes still available in the dictionary below the 
  1739.     upper HiBase (A4) addressing limit. Code will be a little less 
  1740.     efficient above this limit.
  1741.  
  1742. HERE  -- addr          Compiler/Nuc2.asm
  1743.     Returns the next available dictionary location.
  1744.  
  1745. HEX  --          Arithmetic/Nuc2.asm
  1746.     Sets base to 16.
  1747.  
  1748. HFS?  -- b          Files /Files
  1749.     Returns true if using the Mac Hierarchical File System (Inspects the 
  1750.     global variable FSFCBLen).
  1751.  
  1752. HGetSt  -- state          System/Nuc2.asm
  1753.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1754.     and PTR classes. Should not be called directly from anywhere else.
  1755.  
  1756. HIDE  --          Compiler/Nuc2.asm
  1757.     Replace Smudge in Neon. HIDE hides the last dictionary header so that 
  1758.     FIND won't find it. REVEAL brings it back again. Use this if you want 
  1759.     the previous use of the name, i.e. if you DON'T want recursion.
  1760.  
  1761. HidePen  --          Quickdraw/QD
  1762.     A direct call to HidePen.
  1763.  
  1764. HL-EVT  -- false          Events/Event
  1765.     An action word for fevent. Handles High-level events. Several vects are 
  1766.     involved.
  1767.  
  1768. HLD  -- addr          System/Nuc2.asm
  1769.     This value is the address of the latest Hold character during numeric 
  1770.     output conversion.
  1771.  
  1772. HLEventVEC  --          Events/Event
  1773.     A vect. Called for generic high-level events. Default is vfalse.
  1774.  
  1775. HOLD  c --          NumericConversion/Nuc2.asm
  1776.     Inserts the character into a string being built by a <# ... #> 
  1777.     sequence. standard
  1778.  
  1779. HOME  --          Console/Nuc2.asm
  1780.     Moves the cursor to the upper left corner of the current window.
  1781.  
  1782. HSetSt  state --          System/Nuc2.asm
  1783.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1784.     and PTR classes. Should not be called directly from anywhere else.
  1785.  
  1786. HWPavail?  -- b          System/Nuc2.asm
  1787.     A value. Set True by the startup code if the HWPriv trap is available.
  1788.  
  1789. I  -- n          ControlStructures/Nuc2.asm
  1790.     We keep the loop index I in D3, but the return stack is entirely in 
  1791.     memory so that words can be called simply with BSR/JSR. This means that 
  1792.     I can be used in words called from within DO loops. In fact I can be 
  1793.     used as another local variable.
  1794.  
  1795. I->L  16-bit-number -- 32-bit-number          Toolbox/Nuc2.asm
  1796.     Converts the 16-bit half-cell on top of stack into a full 32-bit Mops 
  1797.     cell, extending the sign bit. i->l is useful in handling the result 
  1798.     from Macintosh ROM routines that return a 16-bit signed integer on the 
  1799.     stack. i->l differs from Extend in that i->l pushes two bytes onto the 
  1800.     stack while extending the sign, whereas extend only extends the sign of 
  1801.     a 16-bit integer contained in the 32-bit cell on top of stack, 
  1802.     converting it into a 32-bit signed integer. Word0, a related word, 
  1803.     pushes two zero bytes onto the stack.
  1804.  
  1805. I/O_ERR  err# --          Errors/base
  1806.     A forward definition to be called when there is an io error.
  1807.  
  1808. IBEAMCURS  --          Quickdraw/QD
  1809.     Sets the cursor to this.
  1810.  
  1811. IDXBASE  -- addr          Oop/Nuc2.asm
  1812.     Returns the address of the beginning of the data for an indexed 
  1813.     object's indexed data area. Only use in a class definition.
  1814.  
  1815. IF  ? --          ControlStructures/Nuc2.asm
  1816.     Marks the beginning of an IF... THEN or IF ... ELSE ... THEN program 
  1817.     flow sequence.
  1818.  
  1819. IFA  class -- ifa          OOPprimitive/Class
  1820.     Given a pointer to a class, returns the ivar field address.
  1821.  
  1822. IMMEDIATE  --          Compiler/Nuc2.asm
  1823.     standard
  1824.  
  1825. INDEXED  n --          OOP/Class
  1826.     Sets a class and its subclasses to indexed, of element byte width n. 
  1827.     Used after the superclass declaration list when defining a new class. 
  1828.     Note that when instantiating an indexed class, you MUST precede the 
  1829.     instance name with the number of elements you wish that instance to 
  1830.     have. Also note that all indexed classes are automatically declared to 
  1831.     be GENERAL, so you may not used indexed classes to map into toolbox 
  1832.     calls. Also, n must be < 32K (see LARGE).
  1833.  
  1834. INDEXED-OBJ  --  : name          OOP/Struct
  1835.     A standard class. Class INDEXED-OBJ is the generic superclass for all 
  1836.     arrays. Here we define the general indexed methods, which apply 
  1837.     regardless of indexed width.
  1838.  
  1839. INFRONT  -- -1          Windows/Window
  1840.     A constant.
  1841.  
  1842. INITFONT  --          System/Window
  1843.     Initializes text characteristics.
  1844.  
  1845. INITFW  --          System/Nuc1.asm
  1846.     Initializes the default window fWind.
  1847.  
  1848. INITZED?  -- b          system/Nuc2.asm
  1849.     Set True by the startup code, to indicate that the normal startup 
  1850.     initialization has been done. Can be inspected after a bomb box restart 
  1851.     to determine if this is an initial startup or not. A value.
  1852.  
  1853. INIT_ACTIONS  --          FrontEnd/Struct
  1854.     A system object, of class x-col, with 8 elements. Any special run-time 
  1855.     initialization can be done conveniently by adding the appropriate words 
  1856.     to the x-col INIT_ACTIONS. These words will be executed on startup via 
  1857.     EXTRA_INITS, right after OBJINIT.
  1858.  
  1859. INLINE{  --  : word ... }          Compiler/args
  1860.     Commences a piece of inline code. Allows faster execution. We assume 
  1861.     that inline code chunks will be fairly short, and are to be optimized 
  1862.     for speed.
  1863.  
  1864. INLMK  -- $4AFC          System/Nuc2.asm
  1865.     A constant.
  1866.  
  1867. InMainDic  -- 0          Compiler/base
  1868.     A relocatable address type.
  1869.  
  1870. InOtherMod  -- 1          Compiler/base
  1871.     A relocatable address type.
  1872.  
  1873. INSTEAD  c-old c-new --          Strings/StrUtilities
  1874.     May be used just after a SCON is defined. Within the SCON, it replaces 
  1875.     any occurrences of c-old with c-new. This operation is useful for 
  1876.     creating SCONs containing special characters such as tab.
  1877.  
  1878. INSTLD?  -- b          system/Nuc2.asm
  1879.     A value. Set True if an installed application is running. Can be 
  1880.     useful. Very useful.
  1881.  
  1882. INT  -- : NAME       OOP/Struct
  1883.     The standard integer class.  See also UINT.
  1884.  
  1885. INTERPRET  --          System/Nuc1.asm
  1886.     INTERPRET is the interpretation loop. Words from the input stream are 
  1887.     interpreted until the input is exhausted.
  1888.  
  1889. InThisMod  -- 2          Compiler/base
  1890.     A relocatable address type.
  1891.  
  1892. INTRP1  --  : word          Compiler/Nuc2.asm
  1893.     Interprets one word/number from the input stream.
  1894.  
  1895. INVERT  ( x1 -- x2 )         Core/Nuc2.asm
  1896.     Invert all bits of x1, giving its logical inverse x2.
  1897.  
  1898. IOWAIT  --          Files/Files
  1899.     Repeatedly calls busy and pause, will exit if busy returns false.
  1900.  
  1901. IS{  240 index -- index here 240          Controlstructures/Modules
  1902.     Used in a select{ construct.
  1903.  
  1904. IVFINDM  selID ^ivar -- offs xt          OOPprimitive/Class
  1905.     Looks for a method in
  1906.  
  1907. IX  -- ifa          OOPprimitive/Class
  1908.     Called from within an inline method. Compiles code to generate the 
  1909.     indexed address.
  1910.  
  1911. J  -- n          ControlStructures/Nuc2.asm
  1912.     Index value for the next outer DO ... LOOP control structure.
  1913.  
  1914. K  -- n          ControlStructures/Nuc2.asm
  1915.     Index value for the 2nd outer DO ... LOOP control structure.
  1916.  
  1917. KEY  -- c          Events /Nuc.asm
  1918.     A system vector. The action of key is normally (key). (key!) is used to 
  1919.     set the default action for key.
  1920.  
  1921. KEY!  --          Events/Nuc.asm
  1922.     A system vector.
  1923.  
  1924. KEY-EVT  -- keywd modswd T  |  -- F          Events/Event
  1925.     An action word for fevent. Gets key value if true. Handles command-key 
  1926.     menu actions. Does not handle "normal" key actions, that is up to your 
  1927.     code.
  1928.  
  1929. KILLH  --          System/Nuc2.asm
  1930.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1931.     and PTR classes. Should not be called directly from anywhere else.
  1932.  
  1933. KILLP  --          System/Nuc2.asm
  1934.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  1935.     and PTR classes. Should not be called directly from anywhere else.
  1936.  
  1937. KONST  -- n  : konstName          ToolBox/tool.txt
  1938.     Returns a Mac system constant. For example, konst kAEQuitApplication 
  1939.     will return the event id 'quit' on the stack.
  1940.  
  1941. L->G  point -- point'          Quickdraw/Event
  1942.     Convert a local point to a global point.
  1943.  
  1944. LARGE  --          OOP/Class
  1945.     Sets the "large" option on an indexed class, allowing the number of 
  1946.     elements to be greater than 32K.
  1947.  
  1948. latest  -- nfa-1          Compiler/Nuc.asm
  1949.     A value. Leaves the nfa-1 of the last defined word.
  1950.  
  1951. LEAVE  --          ControlStructures/Nuc2.asm
  1952.     There is also a change to LEAVE, which is now a "leaping LEAVE". When 
  1953.     LEAVE is executed, it now causes the loop to be left immediately, 
  1954.     rather than waiting until the next time LOOP is encountered.
  1955.  
  1956. LENGTH:  -- len          OOP/Class
  1957.     A method. Gets total length of object. Length will include class header 
  1958.     information only if class is of type GENERAL. Otherwise, length is 
  1959.     merely the length of the ivar data field(s).
  1960.  
  1961. LIMIT  -- n          Oop/Nuc2.asm
  1962.     Returns the maximum numbr of elements in an indexed class. Only used in 
  1963.     a class definition.
  1964.  
  1965. Line  dh dv --          Quickdraw/QD
  1966.     A direct call to Line.
  1967.  
  1968. LineTo  h v --          Quickdraw/QD
  1969.     A direct call to LineTo.
  1970.  
  1971. LIT  n --          Compiler/Base
  1972.     A state-smart version of LITERAL. Corresponds to LITERAL in Fig-Forth 
  1973.     or original Neon, whereas our present LITERAL is Forth-83.
  1974.  
  1975. LITERAL  n --          System/Nuc2.asm
  1976.     standard
  1977.  
  1978. LITW  n --          Compiler/Base
  1979.     
  1980.  
  1981. LN  flt1 -- flt2          FloatingPoint/floating point
  1982.     Computes the natural logarithm.
  1983.  
  1984. LN(10)  -- flt          FloatingPoint/floating point
  1985.     An fcon. Returns the natural logarithm of 10, 2.302...
  1986.  
  1987. LN1  flt1 -- flt2          FloatingPoint/floating point
  1988.     ln(1+x)
  1989.  
  1990. LOCAL  --  : name { parm1 parm2 \ loc1 loc2 }          Memory/args
  1991.     Begins definition of a local section. Within a local section, all words 
  1992.     have access to the parms/locals.
  1993.  
  1994. LOG  flt1 -- flt2          FloatingPoint/floating point
  1995.     Log base 10 of given float.
  1996.  
  1997. LOG2  flt1 -- flt2          FloatingPoint/floating point
  1998.     Computes the base 2 logarithm.
  1999.  
  2000. LOG21  flt1 -- flt2          FloatingPoint/floating point
  2001.     log2(1+x). I don't think LOG21 is a very helpful name (pure 
  2002.     computerese), but I guess we're stuck with it.
  2003.  
  2004. LOK  --          System/Nuc2.asm
  2005.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  2006.     and PTR classes. Should not be called directly from anywhere else.
  2007.  
  2008. LONGWORD  --  : name          OOP/Struct
  2009.     A standard class. Generic superclass for var, handle etc.
  2010.  
  2011. LOOP  --          ControlStructures/Nuc2.asm
  2012.     Marks end of DO ... LOOP structure.
  2013.  
  2014. MAKEINT  32-bit-num -- 16-bit-num          Toolbox/Nuc2.asm
  2015.     Drops the higher 16 bits of the number on top of the stack. This is 
  2016.     handy in Toolbox calls that require an Int value.
  2017.  
  2018. MAX  n1 n2 -- max          Arithmetic/Nuc2.asm
  2019.  
  2020. MAXDIC  -- n          Compiler/Nuc2.asm
  2021.     A value used by the startup code - set to the value specified for the 
  2022.     dictionary size in the Install dialog.
  2023.  
  2024. MBADDR  -- addr          Menus/Event
  2025.     We store our menubar reference here.
  2026.  
  2027. MBAR  --  : name          Menus/Menu
  2028.     A standard class. The Mops class for handling the menubar, contains an 
  2029.     array of up to 10 menu objects. The default Mops mbar object is 
  2030.     menubar, which is stored in the dicaddr object MBaddr.
  2031.  
  2032. MENU  --  : name          Menus/MenuMod.txt
  2033.     A standard class, subclass of x-array. The Mops object oriented 
  2034.     approach to handling menus.
  2035.  
  2036. MENUBAR  -- obj          Menus/Menu
  2037.     Our default mbar object, stored in MBaddr.
  2038.  
  2039. META  -- class          OOPprimitive/Class
  2040.     META is the super class of Object - top of all inheritance.
  2041.  
  2042. MFA  class -- mfa          OOPprimitive/Class
  2043.     Given a pointer to a class, returns the methods field address.
  2044.  
  2045. MIN  n1 n2 -- min          Arithmetic/Nuc2.asm
  2046.  
  2047. MINHEAP  -- n          Compiler/Nuc2.asm
  2048.     A value used by the startup code - set to the value specified for the 
  2049.     heap size in the Install dialog.
  2050.  
  2051. MLOCAL  --  : name { parm1 parm2 \ loc1 loc2 }          Memory/args
  2052.     Starts a local section for methods. See local.
  2053.  
  2054. MOD  n1 n2 -- rem          Arithmetic/Nuc2.asm
  2055.     Leaves remainder of division of n1 by n2.
  2056.  
  2057. MOUSE  --  : name          Events/Event
  2058.     A system class for dealing eith the mouse and events. Our Mops mouse 
  2059.     object is theMouse.
  2060.  
  2061. MOUSE-EVT  -- false          Events/Event
  2062.     An action word for fevent. Handles mouse events.
  2063.  
  2064. MouseMoved  --          Events/Event
  2065.     A vect. Called for mouse moved.
  2066.  
  2067. MOVE  src dest cnt --          Memory/Nuc2.asm
  2068.     As for CMOVE, but n may be anything. Implemented by calling the system 
  2069.     BlockMove trap. This gives optimized handling of longer moves (n > 20 
  2070.     say). Also accounts for situations where the source and destination 
  2071.     areas overlap. If you want byte propagation effects, use CMOVE instead. 
  2072.     But what would you want this for, anyway, since we have FILL?
  2073.  
  2074. MOVEPEN  dv dh --          Quickdraw/QD
  2075.     A direct call to Move.
  2076.  
  2077. MoveTo  h v --          Quickdraw/QD
  2078.     A direct call to MoveTo.
  2079.  
  2080. MROPEN?  -- b           System/Nuc2.asm
  2081.     A value.  True if the file mops.rsrc was successfully opened.
  2082.  
  2083. MSELECT  point -- item# menuID          Menus/Menu
  2084.     Calls menu manager MenuSelect to track a menu selection.
  2085.  
  2086. MSG#  --  : lit          Errors/base
  2087.     Displays given string number (a literal) from the mops.rsrc file, 
  2088.     preceded by "Msg# ..."
  2089.  
  2090. MvHHi  -- b          System/Nuc2.asm
  2091.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  2092.     and PTR classes. Should not be called directly from anywhere else.
  2093.  
  2094. MWORD  -- addr          Lowstrings/Nuc2.asm
  2095.     "Mops word". Called by DEFINED? which is called by INTERPRET. Calls 
  2096.     WORD with a blank as delimiter, and converts the string to upper case. 
  2097.     Leaves counted string at addr (will be HERE).
  2098.  
  2099. MyDoc  -- addr len          Frontend/Files
  2100.     Front end support for loading files.
  2101.  
  2102. MyDocName  -- str255          Frontend/Files
  2103.     A variable with 28 bytes allotted.
  2104.  
  2105. N>COUNT  nfa  -- addr len          Compiler/Nuc2.asm
  2106.     Leaves the address and length of a name field, suitable for use by 
  2107.     "type".
  2108.  
  2109. NAME?  addr -- addr b          Compiler/Nuc2.asm
  2110.     Returns True if the passed-in addr appears to be a xt with a 
  2111.     corresponding valid name field.
  2112.  
  2113. NEED  --  : filename          System/Extrasmod.txt
  2114.     Will load the named file, if the file is in our path definition. Put 
  2115.     NEED XXX at the start of a file that requires XXX to be already loaded. 
  2116.     If the word XXX is not defined, a file of that name is loaded. Note 
  2117.     that only one blank or tab is allowed between NEED and the filename. 
  2118.     This is because we use WORD" to read the filename, so that names with 
  2119.     embedded blanks are allowed.
  2120.  
  2121. NEG>  --  : word          Arithmetic /args
  2122.     A prefix operator. Negates. Use for values, local variables, named 
  2123.     input parameters. Also works for floats.
  2124.  
  2125. NEGATE  n -- -n          Arithmetic/Nuc2.asm
  2126.     Changes the sign of n.
  2127.  
  2128. NEWH  n -- b          System/Nuc2.asm
  2129.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  2130.     and PTR classes. Should not be called directly from anywhere else.
  2131.  
  2132. NEWP  n ^ptr -- b          System/Nuc2.asm
  2133.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  2134.     and PTR classes. Should not be called directly from anywhere else.
  2135.  
  2136. NEWVECS  --          System/Frontend
  2137.     Sets various system vectors to be compatible with the new Mops
  2138.     interface.  See OLDVECS.
  2139.  
  2140. NEXT  --          ControlStructures/Nuc2.asm
  2141.     Marks end of a FOR ... NEXT loop. See FOR.
  2142.  
  2143. NEXTEVENT  ^event mask -- b          Events/Nuc2.asm
  2144.     We call WaitNextEvent if it's available, otherwise GetNextEvent.
  2145.  
  2146. NEXT_TASK  --          Events/Event
  2147.     A vect. If multitasking is installed, this will be redirected to do a 
  2148.     task switch.
  2149.  
  2150. NIF  ? --          Controlstructures/Nuc2.asm
  2151.     Like IF except execution occurs when ? is zero.
  2152.  
  2153. NILH  -- $FFA00101          Memory/Nuc2.asm
  2154.     A constant. The value we use for a nil handle.
  2155.  
  2156. NILP  -- $FFA00103          Memory/Nuc2.asm
  2157.     A constant. The value we use for a nil pointer.
  2158.  
  2159. NIP  n1 n2 -- n2          Stack/Nuc2.asm
  2160.     Removes stack item just under top.
  2161.  
  2162. NOMEM  --          Errors/base
  2163.     A forward definition to be called when (not if!) we run out of memory.
  2164.  
  2165. NOT  b -- -b          Arithmetic/Nuc2.asm
  2166.     Reverses the sense of a boolean.
  2167.  
  2168. NOT>  --  : word          Arithmetic /args
  2169.     A prefix operator. Logically nots. Use for values, local variables, 
  2170.     named input parameters. Not for floats.
  2171.  
  2172. NPTR  -- ptr          System/Nuc2.asm
  2173.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  2174.     and PTR classes. Should not be called directly from anywhere else.
  2175.  
  2176. NULL  --          System/Nuc2.asm
  2177.     A word that does nothing.
  2178.  
  2179. NULL-EVT  -- false          Events/Event
  2180.     An action word for fevent. Will send late bound idle: to the actW, if 
  2181.     it is non-zero.
  2182.  
  2183. NULLOSSTR  -- xt          System/Base
  2184.     Null OS string.  Can be used in toolbox calls that require a Str255
  2185.     data type that is null.  For example, the title for a scrollbar.
  2186.  
  2187. NUM?  addr -- n true  |  -- false          Console/Nuc2.asm
  2188.  
  2189. NumAccumulate  --          Arithmetice/Nuc.asm
  2190.     File LongMath revectors numAccumulate to give a genuine double result
  2191.     for words like >NUMBER.  A system vector.
  2192.  
  2193. NUMBER  $ptr -- n          Console/Nuc2.asm
  2194.     Attempts to convert the text at $ptr (a str255) to a number. If 
  2195.     successful leaves the number on the stack, otherwise aborts.
  2196.  
  2197. NUNTIL  ? --          ControlStructures/Nuc2.asm
  2198.     Similar to until. Stop if ? is-zero.
  2199.  
  2200. NWHILE  ? --          ControlStructures/Nuc2.asm
  2201.     Similar to while. Continue if ? is zero.
  2202.  
  2203. OBJ  -- obj          OOPprimitive/Class
  2204.     Called from within an inline method. Passes the object's base and 
  2205.     displacement to Handlers to generate the correct address. Optimization 
  2206.     will then apply.
  2207.  
  2208. OBJ?  obj? -- obj? class  |  -- obj? 0          Compiler/Nuc2.asm
  2209.     General test for an object. Not completely rigorous, so we shouldn't 
  2210.     use it in a TRAV, but pretty good nevertheless. If it is an object, the 
  2211.     class is left in theClass. We do assume the passed-in value may not be 
  2212.     a legal address at all.
  2213.  
  2214. OBJECT  -- class          OOP/Class
  2215.     The root class of all classes. Only used as a declared superclass when 
  2216.     defining a new class. Note that class object has the pre-defined 
  2217.     methods class:, .id:, .class:, addr:, length:, copyto:, classinit:, 
  2218.     release:, dump:, and print:. So ALL objects possess these methods. Some 
  2219.     of these methods do nothing, for class object.
  2220.  
  2221. ObjFindM  selID obj -- obj' xt          Compiler/Nuc2.asm
  2222.     Finds a method's xt given a sel ID and an obj addr. Updates the 
  2223.     object's address if necessary - this will happen if the method turns 
  2224.     out to belong to a superclass with a non-zero offset in the object - 
  2225.     i.e. an embedded object.
  2226.  
  2227. OBJHANDLE  --  : name          OOP/Struct
  2228.     A standard class. An OBJHANDLE is a handle that points to an object in 
  2229.     the heap.
  2230.  
  2231. OBJINIT  --          System/Nuc.asm
  2232.     A system vector. Normally contains sysinit, defined in file Objinit.
  2233.  
  2234. OBJLEN  -- n          Oopprimitive/Class
  2235.     Computes total data length of current object.
  2236.  
  2237. OBJPTR  --  :  name          OOP/Nuc2.asm
  2238.     An object pointer is a "low-level" entity, rather like a value. The 
  2239.     syntax for object pointers is: objPtr anObjptr class_is theClass
  2240.  
  2241. OBJxt?  xt -- xt b          Compiler/Nuc2.asm
  2242.     Returns true if the xt refers to a dictionary object. Note: this won't 
  2243.     work for a heap object, since we rely on the unique handler code for 
  2244.     objects being there, and it won't be for heap objects. But this is the 
  2245.     only way to get a really rigorous check, which we need for TRAV. We 
  2246.     assume xt is really a xt.
  2247.  
  2248. OBJ_ARRAY  #elems --  : name          OOP/Struct
  2249.     A standard class. OBJ_ARRAY is a generic superclass which makes it easy 
  2250.     to generate an array of objects of a given class. Just define a new 
  2251.     class which multiply inherits from the given class (or classes) and 
  2252.     OBJ_ARRAY (which must come last). This will add an indexed section to 
  2253.     each object of the new class, with elements wide enough to contain 
  2254.     objects of the original class. Then SELECT: "switches in" the selected 
  2255.     element to be the "current" element, and all the normal methods of the 
  2256.     class can then be used. Note the use of"32767 indexed" in the class 
  2257.     definition.
  2258.  
  2259. OF  n1 n2 --  | n1          ControlStructures/base
  2260.     Use within a CASE structure. Yields n1 and jumps to beyond next ENDOF 
  2261.     if no match.
  2262.  
  2263. OK  --          Compiler/Nuc2.asm
  2264.     Prints the Mops prompt, commonly 0->.
  2265.  
  2266. OK?  rc --          Files/base
  2267.     A useful word to use after an I/O operation.
  2268.  
  2269. OLDVECS  --          System/Frontend
  2270.     Sets various system vectors to be compatible with the old Mops
  2271.     interface.  See NEWVECS.
  2272.  
  2273. OpenAppVec  -- code True  |  -- False          Events/Nuc.asm
  2274.     As set up in Mops, OpenAppVec simply returns False and does nothing 
  2275.     else.
  2276.  
  2277. OpenDocVec  -- code True  |  -- False          Events/Nuc.asm
  2278.     OpenDocVec finds the number of files in the given list of files, and 
  2279.     puts the number in the value #DocsToOpen. It then handles each file in 
  2280.     the given list fFcb, then calling the sufficient for your appropriately.
  2281.  
  2282. OPENMR  --          Resources/Base
  2283.     open the Mops system resource file (mops.rsrc) if necessary.
  2284.  
  2285. OpenResFile  addr len --          Resources/Base
  2286.     Opens named resource file.
  2287.  
  2288. OPT?  -- b          System/Nuc2.asm
  2289.     A value. Disables optimization if set False. Normally True. Set it 
  2290.     False if you have an obscure bug, to check if the optimization is 
  2291.     generating invalid code.
  2292.  
  2293. OR  n1 n2 -- or          Arithmetic/Nuc2.asm
  2294.  
  2295. OR>  n --  : word          Arithmetic /args
  2296.     A prefix operator. Logically ors with n. Use for values, local 
  2297.     variables, named input parameters. Not for floats.
  2298.  
  2299. ORDERED-COL  #elems --  : name          OOP/Struct
  2300.     A standard class. Ordered-Collection is a collection of 4-byte cells. A 
  2301.     subclass of (col) and array.
  2302.  
  2303. OS-EVT  -- false          Events/Event
  2304.     An action word for fevent. Handles operating system events by calling 
  2305.     various vects.
  2306.  
  2307. OVER  n1 n2 -- n1 n2 n1          Stack/Nuc2.asm
  2308.     Same as 1 pick.
  2309.  
  2310. PACK  x y  -- x:y          Toolbox/Nuc2.asm
  2311.     Packs two 32-bit numbers into one 32-bit number. Only the lower 16 bits 
  2312.     of x and y are used. You can use pack to convert a coordinate point 
  2313.     into a Toolbox-compatible point.
  2314.  
  2315. PAD  -- addr          system/Nuc2.asm
  2316.     Leaves the address of the text output buffer, a temporary area of 
  2317.     memory of 256 bytes. Mops uses PAD to hold information (text, numbers) 
  2318.     for intermediate processing. You may use it to the same end, but be 
  2319.     aware that output words like emit and type may interfere by using pad 
  2320.     as well.
  2321.  
  2322. PARSE-DLM-STR  addr1 addr2 len -- b          Lowstrings/Nuc2.asm
  2323.     Scans the source for a string delimited at the start and end by c. 
  2324.     Everything is skipped before the first delimiter. If the source gets 
  2325.     exhausted in the process, QUERY is called to get more.
  2326.  
  2327. PARSE-SRC  c -- addr len          Lowstrings/Nuc2.asm
  2328.     Scans the source for delimiter c. Returns the addr and len of the 
  2329.     parsed string, and updates the source.
  2330.  
  2331. PARSE-SRC-WORD  c -- addr len          LowStrings/Nuc2.asm
  2332.     As for PARSE-SRC, but any consecutive initialdelimiters are skipped. If 
  2333.     the input is exhausted in the process, QUERY is called to get more.
  2334.  
  2335. PARSE-WORD  c -- addr len          LowStrings/Nuc2.asm
  2336.     Skip leading spaces and parse name delimited by a space.  As for PARSE,
  2337.     but skips leading delimiters.  If the input is exhausted in the process,
  2338.     REFILL is called to get more.
  2339.  
  2340. PATCHES_DONE  --          Compiler/Nuc2.asm
  2341.     If you ever need to patch instructions, call this when you're finished. 
  2342.     It flushes the instruction cache if necessary to make sure that the new 
  2343.     instructions will really be executed. PATCH and (PATCH) call it 
  2344.     already, so if you are using these, you don't need to call Patches_done.
  2345.  
  2346. PATTERN  --  : name          Quickdraw/QD
  2347.     A system class, subclass of resource.
  2348.  
  2349. PAUSE  --          Events/Nuc.asm
  2350.     A system vector, normally contains (pause), defined in file Frontend. 
  2351.     PAUSE should be called at strategic intervals in all applications, 
  2352.     unless Key is being called frequently. Pause normally calls next: 
  2353.     fEvent which allows a task switch to be done under MultiFinder, and 
  2354.     which also handles any pending events for this task, such as window 
  2355.     updates. Remember to disable any menus etc. that you don't want to 
  2356.     execute in this situation! Unexpected re-entrancy is a good way to bomb!
  2357.  
  2358. PCRVEC  --          System/Nuc2.asm
  2359.     This system vector is the execution vector for pcr. When Mops starts 
  2360.     up, pcrvec is vectored to null, Mops's "do-nothing" word. +print 
  2361.     vectors pcrvec to pcr so that you or Mops can send a carriage return 
  2362.     and linefeed to the printer.
  2363.  
  2364. PEMITVEC  --          System/Nuc2.asm
  2365.     This system vector is the execution vector for pemit. When Mops starts 
  2366.     up, pemitvec is vectored to drop. +print vectors pemitvec to pemit so 
  2367.     that you or Mops can send a character to the printer.
  2368.  
  2369. PI  -- flt          FloatingPoint/floating point
  2370.     An fcon. Returns 3.1415...
  2371.  
  2372. PICK  ... idx -- ... n          Stack/Nuc2.asm
  2373.     Given a zero-based index into the stack, will copy the requested cell 
  2374.     to the top of the stack. Stack depth increases by one. 0 pick is 
  2375.     equivalent to dup.
  2376.  
  2377. PLACE  addr1 len addr2 --          Lowstrings/Nuc2.asm
  2378.     Converts string ( addr1 len ) to a counted string at addr2. Appends a 
  2379.     zero byte.
  2380.  
  2381. PLUSCURS  --          Quickdraw/QD
  2382.     Sets the cursor to this.
  2383.  
  2384. POINT  --  : name          Quickdraw/QD
  2385.     A standard class for dealing with QuickDraw points. Note that Mops 
  2386.     prefers to treat all points and operations with points as 2 items on 
  2387.     the stack, rather than a single packed 32-bit number.
  2388.  
  2389. POPPORT  GrafPtr --          Quickdraw/QD
  2390.     Calls SetPort.
  2391.  
  2392. POSTPONE  --          Compiler/Nuc2.asm
  2393.     In this system, compilation is done by executing the compilation 
  2394.     handler for the word in question. POSTPONE must therefore be immediate, 
  2395.     and compile the right code into the client definition. This code 
  2396.     consists of a literal push of the POSTPONEd word's xt, then a call to 
  2397.     (COMP).
  2398.  
  2399. PRINT:  --          OOP/Class
  2400.     A method. Use to display a class, default is just a DUMP:.
  2401.  
  2402. PrintDocVec  -- code True  |  -- False          Events/Nuc.asm
  2403.     As set up, Read1DocVec assumes the file is a Mops dictionary. 
  2404.     Read1DocVec must point to a routine which will read the file designated 
  2405.     by the file object fFcb, close it, and return a result on the stack. 
  2406.     True indicates the OpenDocVec loop can continue. False means the loop 
  2407.     must terminate. You could return False, for example, on an error, or 
  2408.     simply if your application can't accept more than one document open at 
  2409.     a time.
  2410.  
  2411. PRIVATE  --          OOP/Class
  2412.     Use within a class definition. Makes the following methods private—that 
  2413.     is, they will be accessible from within this class or any of its 
  2414.     subclasses, but not from anywhere else. The criterion is simply that a 
  2415.     call to Self of Super may access a private method, but nothing else 
  2416.     can. Note that for this reason you can't late-bind to a private method, 
  2417.     even if you do it from within the class itself.
  2418.  
  2419. PROCESSOR  -- n          System/Nuc2.asm
  2420.     A value. Set by a _Gestalt call in the startup code to the number 
  2421.     corresponding to the processor we are running on.
  2422.  
  2423. PROMPT?  -- b          Console/Frontend
  2424.     A value.  If true the Mops prompt ( e.g. 0->) will be displayed after
  2425.     interpretation in the new Mops interface.
  2426.  
  2427. PSPVEC  n --          Console/Nuc2.asm
  2428.     Printer spaces vect.  A system vect that might be used to send n
  2429.     spaces to the printer if +print has been executed.  It currently
  2430.     does nothing.
  2431.  
  2432. PTR  --  : name          OOP/Struct
  2433.     A standard class. For toolbox pointers.
  2434.  
  2435. PTYPEVEC  addr len  --          System/Nuc2.asm
  2436.     This is the execution vector for ptype. When Mops starts up, typevec is 
  2437.     vectored to 2drop, so that it does nothing. +print vectors ptype to 
  2438.     ptypevec, so you can send a string to the printer.
  2439.  
  2440. PUBLIC  --          OOP/Class
  2441.     Makes the following methods public—that is, they will be accessible 
  2442.     from anywhere. PRIVATE and PUBLIC may be used any number of times 
  2443.     within the one class definition. Methods are initially public when a 
  2444.     class compilation starts.
  2445.  
  2446. PUSHPORT  -- GrafPtr          Quickdraw/QD
  2447.     Pushes the current Graphport onto the stack as a GrafPtr. Calls GetPort.
  2448.  
  2449. QUERY  --          System/Nuc2.asm
  2450.     A system vector. Inputs up to 128 characters from the keyboard until a 
  2451.     carriage is typed. Query puts the acquired text at the address TIB and 
  2452.     sets the value IN to zero.
  2453.  
  2454. QUIT  --          Compiler/Nuc2.asm
  2455.     standard
  2456.  
  2457. QuitAppVec  -- code True  |  -- False          Events/Nuc.asm
  2458.     The current setting for QuitAppVec is simply to call BYE. Your 
  2459.     application will probably want to do something a bit more intelligent.
  2460.  
  2461. QUITVEC  --          System/Nuc.asm
  2462.     A system vector.  Called by QUIT.  When OLDVECS are in effect, QUTVEC is set
  2463.     to 0 and so does nothing.  When NEWVECS are in effect (the new Mops interface),
  2464.     QUITVEC is used to allow re-entry into EVENTLOOP with the new interface.
  2465.  
  2466. R  -- n          Stack/Nuc2.asm
  2467.     Copies the top return stack value to the stack.
  2468.  
  2469. R>  -- n          Stack/Nuc2.asm
  2470.     Pops the top return stack value to the stack.
  2471.  
  2472. R@  -- n          Stack/Nuc2.asm
  2473.  
  2474. RA?  addr -- b          Compiler/Nuc2.asm
  2475.     Returns True if the addr looks like a return address.
  2476.  
  2477. RAD2DEG  flt1 -- flt2          FloatingPoint/floating point
  2478.     Converts radians to degrees.
  2479.  
  2480. RANDOM  n -- rand*n          Arithmetic/QD
  2481.     Returns a random number from 0 to n-1 inclusive. n is limited to an Int 
  2482.     value. Larger than that means that numbers will be poorly distributed. 
  2483.     Uses the Toolbox call Random, but is not the same.
  2484.  
  2485. RANGEOF  val  lo hi --          ControlStructures/base
  2486.     Use in place of an OF in a CASE structure. Provides conditional 
  2487.     execution if val is within range lo to hi inclusive.
  2488.  
  2489. RANGE],  val  lo hi --          ControlStructures/casemod.txt
  2490.     Use in a CASE[ structure.  Will OR this condition with any other
  2491.     condition like [ x ], and [ y ]=>
  2492.  
  2493. RANGE]=>  val  lo hi --          ControlStructures/casemod.txt
  2494.     Use in a CASE[ structure.
  2495.  
  2496. RANGE_ERR  index range rtn-addr --          Errors/base
  2497.     Action word for system vector rngErr.
  2498.  
  2499. RDEPTH  -- #cells          ReturnStack/base
  2500.     Leaves the number of cells occupied on the return stack. You may find 
  2501.     rdepth useful in debugging your programs.
  2502.  
  2503. Read1DocVec  -- code True  |  -- False          Events/Nuc.asm
  2504.     As set up, Read1DocVec assumes the file is a Mops dictionary. 
  2505.     Read1DocVec must point to a routine which will read the file designated 
  2506.     by the file object fFcb, close it, and return a result on the stack. 
  2507.     True indicates the OpenDocVec loop can continue. False means the loop 
  2508.     must terminate. You could return False, for example, on an error, or 
  2509.     simply if your application can't accept more than one document open at 
  2510.     a time.
  2511.  
  2512. RECT  --  : name          Quickdraw/QD
  2513.     A standard class for dealing with QuickDraw rectangles. Note that Mops 
  2514.     prefers to treat rectangles, and all QuickDraw coordinates for that 
  2515.     matter, in the form LEFT TOP RIGHT BOTTOM (l t r b), or x1 y1 x2 y2.
  2516.  
  2517. RECURSE  --          wherever/Compiles a call to the definition being compiled.
  2518.  
  2519. REFILL   -- flag       Core/Nuc2.asm
  2520.     Attempt to refill the input buffer from the input source, retuning a true
  2521.     flag if successful.
  2522.  
  2523. RELCNT  -- n          OOP/Struct
  2524.     A value. For testing - counts release: msgs sent to HANDLE objects to make
  2525.     sure we're releasing everything.  Won't be valid if you override release:
  2526.  
  2527. RELEASE:  --          OOP/Class
  2528.     Our standard destructor method. Any objects that allocate heap storage 
  2529.     will redefine this appropriately. Our convention is that an object will 
  2530.     release ALL its storage when it gets a release: message. Other methods 
  2531.     can be provided to partly release storage, as needed.
  2532.  
  2533. RELOC!  src dst --          Compiler/Nuc2.asm
  2534.     Converts the source address abs-addr to relocatable and stores it at 
  2535.     the destination address dst. Checks that a module address is not being 
  2536.     stored outside a module, a situation which can easily lead to a trouble 
  2537.     when the address is used
  2538.  
  2539. RELOC,  abs-addr --          Compiler/Nuc2.asm
  2540.     Converts abs-addr to relocatable, and adds it to the dictionary.
  2541.  
  2542. RelocType  ^reloc-addr - n          Compiler/Nuc2.asm
  2543.     Returns the relocation type of the given relocatable addr. 0 = main 
  2544.     dic, 1 = in a module (a5-relative), 2 = in a module (self-relative).
  2545.  
  2546. REPEAT  --          ControlStructures/Nuc2.asm
  2547.     Standard. Marks bounds of BEGIN ... XXX ... REPEAT loop.
  2548.  
  2549. RESERVE  n --          Compiler/base
  2550.     Allotsthe next n bytes in the dictionary and erases them.
  2551.  
  2552. RESOURCE  --  : name          OOP/Struct
  2553.     A standard class. Provides basic support for Toolbox resources.
  2554.  
  2555. ResRefNum  -- n         Resources/Base
  2556.     A value.  Used by OpenResFile as holding place for the resource file
  2557.     reference number for use by CloseResFile.
  2558.  
  2559. RESTORE-INPUT  x1...xn n --          Compiler/Base
  2560.     Restores the current position in the input stream.
  2561.  
  2562. RESTPORT  --          Windows/Window
  2563.     Restores the current GrafPort from the variable thePort via a call to 
  2564.     SetPort.
  2565.  
  2566. RESUME?  -- b          Events/Event
  2567.     A value. True if we've just received a Resume event.
  2568.  
  2569. ResumeVec  --          Events/Event
  2570.     A vect. Called for resume.
  2571.  
  2572. RET  -- 13          Strings/String
  2573.     A constant, returns ascii value of a carriage return character.
  2574.  
  2575. REVEAL  --          Compiler/Nuc2.asm
  2576.     Makes the current name visible again. See hide.
  2577.  
  2578. RL  --          Files/Extrasmod.txt
  2579.     Reload.  Reloads last file loaded.  First forgets down to last file mark.
  2580.     Development-only utility.
  2581.  
  2582. RNDWIND  -- 16          Windows/Window
  2583.     A constant.
  2584.  
  2585. RNGERR  --          System/Nuc.asm
  2586.     A system vector. Contains range_err, which is defined in file Base.
  2587.  
  2588. ROOM  -- n          Compiler/Nuc2.asm
  2589.     Leaves the number of bytes left in the dictionary.
  2590.  
  2591. ROT  n1 n2 n3 -- n2 n3 n1          Stack/Nuc2.asm
  2592.  
  2593. ROUND  flt1 -- flt2          FloatingPoint/floating point
  2594.     Rounds the given float to the nearest integer by the normal rules. Of 
  2595.     course we still have a float.
  2596.  
  2597. RP!  addr --          Stack/Nuc2.asm
  2598.     Stores addr into RP0.
  2599.  
  2600. RP0  -- addr          stack/Nuc2.asm
  2601.     A value. Contains the base address of the return stack.
  2602.  
  2603. RP@  -- addr          Stack/Nuc2.asm
  2604.     Returns the address of the top of the return stack before rp@ is 
  2605.     executed.
  2606.  
  2607. RSTA5  --          Compiler/Base
  2608.     Used for trap compilation. Used after a Toolbox trap call. Registers A6 
  2609.     and A7 must be exchanged again and A5 set back.
  2610.  
  2611. RSTKSPACE  -- n          System/Nuc2.asm
  2612.     A value. Used by the startup code to allocate space for the return 
  2613.     stack. Initial value: 30000.
  2614.  
  2615. run  --          System/Frontend
  2616.     System startup word for the Mops development environment.
  2617.  
  2618. S=  addr1 len1 addr2 len2 -- b          Strings/Nuc2.asm
  2619.     Case sensitive string comparison, true if equal.
  2620.  
  2621. S>D  ( n -- d )          Core/Nuc2.asm
  2622.     Convert the number n to the double-cell number d with the same numerical
  2623.     value.  ANSII
  2624.  
  2625. SAmask  -- n          memory/Nuc2.asm
  2626.     A value. If you need to call _StripAddress, don't bother, we've done it 
  2627.     for you. Just use SAmask as a mask on the address as in SAmask and.
  2628.  
  2629. SAVA5  --          Compiler/Base
  2630.     Used for trap compilation. Sets up for a Toolbox trap call. Registers 
  2631.     A6 and A7 must be exchanged and A5 set properly.
  2632.  
  2633. SAVE  --  : filename          System/Files
  2634.     Saves the Mops dictionary image to disk with the given filename.
  2635.  
  2636. SAVE-INPUT  -- x1...xn n          Compiler/Base
  2637.     Saves the current position in the input stream.
  2638.  
  2639. SaveActW  -- wptr          Events/Window
  2640.     Saves actW over Suspend-Resume.
  2641.  
  2642. SAVEPORT  --          Windows/Window
  2643.     Saves the current GrafPort in the variable thePort via a call to 
  2644.     GetPort.
  2645.  
  2646. SCAN  addr len c -- addr' len'          Lowstrings/Nuc2.asm
  2647.     May well be in the ANSI standard. Searches the string ( addr len ) for 
  2648.     the character c. Leaves addr' the address of the found char, and len' 
  2649.     the remaining string length. If not found, addr' will be one past the 
  2650.     end of the string, and len' will be zero. Assumes len is less than 64K 
  2651.     (only 16 bits significant). Class String+ provides a more complete 
  2652.     character search in its chsearch: method, which has case handling and 
  2653.     32-bit length.
  2654.  
  2655. SCAN-SRC  c --          Lowstrings/Nuc2.asm
  2656.     Does a SCAN on the current source, and leaves the source descriptors 
  2657.     (src-addr src-len) updated.
  2658.  
  2659. SCON  --  : name  text          Strings/base
  2660.     Defines a string constant. Change from Neon: the first nonblank char 
  2661.     after the name of the SCON is the delimiter. So " can be used as usual, 
  2662.     but anything else can be used instead, e.g.: scon <name> /string 
  2663.     containing " as non-delimiter/
  2664.  
  2665. SCREATE  addr len --          Compiler/Nuc2.asm
  2666.     An interface to Create; takes an addr-len pair representing a string.
  2667.  
  2668. SCREENBITS  -- l t r b          QuickDraw/Struct
  2669.     Gets dimension coordinates of host machine's display via the Mac global 
  2670.     variable screenbits.
  2671.  
  2672. SCROLL  dh dv --          Console/Nuc2.asm
  2673.     Scrolls the current window by dh dv pixels. Uses fprect and ScrollRect.
  2674.  
  2675. SELECT{  n --          Controlstructures/Modules
  2676.     SELECT{ defines a positional case construct - see Forth Dimensions vII 
  2677.     p.51. It is smaller and faster than the equivalent CASE or CASE[ construct,
  2678.     as long as there are more than a couple of values. Values must be >= 0, 
  2679.     and we give a warning if a value > 50 is used, which could well be a 
  2680.     boo-boo.  Note that a lookup table is constructed with 2 bytes for
  2681.     every value in the range of highest to lowest test values.  So be
  2682.     careful when selcting test values.  Also see CASE and CASE[.
  2683.     example use:
  2684.     ...
  2685.     SELECT{  x     IS{ ... }END
  2686.              y     IS{ ... }END
  2687.         DEFAULT{ ( DEFAULT{ is optional. Default actions go here, n is on the
  2688.             stack at this point, you can use it but you must put *something*
  2689.             back on the stack so }SELECT will have something to consume.)
  2690.     }SELECT ...
  2691.  
  2692. SELF  -- obj          OOP/Nuc2.asm
  2693.     Object reference to self. Only used in a class definition. SELF is not 
  2694.     necessarily the same as ^BASE, because of multiple inheritance.
  2695.  
  2696. SEQUENCE  #elems --  : name          OOP/Struct
  2697.     A standard class. SEQUENCE is a generic superclass for classes which 
  2698.     have multiple items which frequently need to be looked at in sequence. 
  2699.     At present the main function of Sequence is to implement the EACH: 
  2700.     method, which makes it very simple to deal with each element. Sequence 
  2701.     can be multiply inherited with any class which implements the FIRST?: 
  2702.     and NEXT?: methods. The actual implementation details are quite 
  2703.     irrelevant, as long as these methods are supported.
  2704.  
  2705. SET-FILE  fcb --          Files/base
  2706.     Sets filename pointer in the FCB.
  2707.  
  2708. SETFWIND  --          System/Nuc.asm
  2709.     A system vector. Normally contains (sf), defined in file Objint.
  2710.  
  2711. SETNAME  fcb --  : filename          Files/base
  2712.     Get filename from stream and set fcb.
  2713.  
  2714. SET_APPL_NAME    addr len --            Install/FEmod.txt
  2715.     Programmatically sets the application name to be used when installing.
  2716.  
  2717. SET_APPL_SIG    4bytestring --        Install/FEmod.txt
  2718.     Programmatically sets the application signature to be used when installing.
  2719.  
  2720. SET_APPL_VERS    addr len --            Install/FEmod.txt
  2721.     Programmatically sets the version string to be used when installing.
  2722.  
  2723. SET_CLASS  obj theClass --          Oopprimitive/Class
  2724.     SET_CLASS is a utility word used to patch nucleus objects when their 
  2725.     classes are defined in higher-level files. Actually it could be used to 
  2726.     change the class of any object, if anyone is silly enough to want to do 
  2727.     that.
  2728.  
  2729. SET_TO_CLASS  objptr --  : classname          OOP/Class
  2730.     If you need to declare the object pointer before the class exists, use 
  2731.     SET_TO_CLASS once the class is defined. :class SOMECLASS super{ object 
  2732.     } ' someOP set_to_class someClass etc.
  2733.  
  2734. SFA  class -- sfa          OOPprimitive/Class
  2735.     Given a pointer to a class, returns the superclass field address, which 
  2736.     is an N-way pointer.
  2737.  
  2738. SFDlgHook  -- ^proc          Files/Files
  2739.     A value. Used in std file calls. If non-zero, points to the proc to be 
  2740.     called while the std file dialog is up.
  2741.  
  2742. SFIND  addr len -- addr' n          Compiler/Nuc2.asm
  2743.     As for FIND, except that the string for matching is designated by addr 
  2744.     and len.
  2745.  
  2746. SFLOC  -- x:y          Files/Files
  2747.     Computes screen coordinates for top left of SF dialog box. Centers the 
  2748.     box horizontally, and a bit above the center vertically. Returns 
  2749.     coordinates as a packed 32-bit number.
  2750.  
  2751. SFOBJ  -- obj          Files/Files
  2752.     A system object of class SFRec.
  2753.  
  2754. SFrec  --  : name          Files/Files
  2755.     A standard class. Used to call Standard File Toolbox routines.
  2756.  
  2757. SHDR  addr len --          Compiler/Nuc2.asm
  2758.     Creates a header for the passed-in string.
  2759.  
  2760. ShowPen  --          Quickdraw/QD
  2761.     A direct call to ShowPen.
  2762.  
  2763. SIGN  n --          NumericConversion/Nuc2.asm
  2764.     standard
  2765.  
  2766. SIN  flt1 -- flt2          FloatingPoint/floating point
  2767.     Computes sine, given radians.
  2768.  
  2769. SKIP  addr len c -- addr' len'          Lowstrings/Nuc2.asm
  2770.     Similar to SCAN, but searches for the first character not equal to c.
  2771.  
  2772. SKIP-SRC  c --          Lowstrings/Nuc2.asm
  2773.     Skips consecutive delimiters equal to c in the source.
  2774.  
  2775. SKIP-SRC+  c --          Lowstrings/Nuc2.asm
  2776.     As for SKIP-SRC, but if a non-c character is not found, calls QUERY to 
  2777.     get another source line. This word is called by PARSE-SRC-WORD which is 
  2778.     called by WORD, and by doing things this way we can have xt lists etc. 
  2779.     extending over multiple lines.
  2780.  
  2781. SLEEPTICKS  -- n          Events/Nuc2.asm
  2782.     A value. Used in calls to WaitNextEvent. Default is 20 as set by file 
  2783.     Frontend.
  2784.  
  2785. SOURCE-ID  -- 0 | -1          Compiler/Nuc2.asm
  2786.     A value.  Identifies the input source as follows: SOURCE-ID Input source
  2787.     -1 String \(via  EVALUATE \) 0 User input device.
  2788.  
  2789. SP!  addr --          Stack/Nuc2.asm
  2790.     Stores addr into SP0.  So we can reset the stack with SP0 SP!
  2791.  
  2792. SP0  -- addr          stack/Nuc2.asm
  2793.     A value. Contains the base address of the stack.
  2794.  
  2795. SP@  -- addr          Stack/Nuc2.asm
  2796.     Returns the address of the top of the stack before sp@ is executed.
  2797.  
  2798. SPACE  --          Console/Nuc2.asm
  2799.     Emits an ascii blank (32).
  2800.  
  2801. SPACES  n --          Console/Nuc2.asm
  2802.     Emits n ascii blanks.  Calls spvec and pspvec.
  2803.  
  2804. SPVEC  n --          Console/Nuc2.asm
  2805.     A system vector.  Will be (SPACES) for fwind, or XSPS for the
  2806.     new Mops interface.  Will display n spaces in the currrent window.
  2807.  
  2808. SQRT  flt -- sqrt          FloatingPoint/floating point
  2809.     square root
  2810.  
  2811. SRC-ADDR  -- addr          system/Nuc2.asm
  2812.     A value. The address of the current source text being interpreted.
  2813.  
  2814. SRC-LEN  -- n          system/Nuc2.asm
  2815.     A value. The number of characters still unprocessed in the current 
  2816.     source line.
  2817.  
  2818. SRC-START  -- addr          system/Nuc2.asm
  2819.     A value. The starting address of the current source line. Used by WORD.
  2820.  
  2821. SRCCOPY  -- 0          Quickdraw/QD
  2822.     A constant, equate for drawing mode.
  2823.  
  2824. SRCOR  -- 1          Quickdraw/QD
  2825.     A constant, equate for drawing mode.
  2826.  
  2827. SRCXOR  -- 2          Quickdraw/QD
  2828.     A constant, equate for drawing mode.
  2829.  
  2830. STATE  --  compile-state          Compiler/Nuc2.asm
  2831.     This value is the compilation state of the Mops interpreter. A non-zero 
  2832.     value means that the definition of a word, method, or class is being 
  2833.     compiled.
  2834.  
  2835. STILLDOWN?  -- b          Events/Event
  2836.     A direct call to StillDown. Returns true if mouse button is still down.
  2837.  
  2838. STKSPACE  -- n          System/Nuc2.asm
  2839.     A value. Used by the startup code to allocate space for the stack. Set 
  2840.     from the Install dialog. Initial value: 30000.
  2841.  
  2842. STR255  addr len -- ^buf255          Strings/Base
  2843.     Converts text beginning at addr for len characters to a str255 type 
  2844.     string at buf255, leaving the addr of buf255. Note that you should use 
  2845.     the string right away as the next call to str255 will overwrite the 
  2846.     buffer.
  2847.  
  2848. STRING  --  : name          Strings/String
  2849.     A standard class. This class is changed radically from Neon! We now 
  2850.     keep two offsets into a string - POS and LIM. POS marks the "current" 
  2851.     position, and LIM the "current" end. Most string operations operate on 
  2852.     the substring delimited by POS and LIM, which we call the active part 
  2853.     of the string. We also keep the size of the string (the real size, that 
  2854.     is) in an ivar, so that we can get it quickly without a system call. 
  2855.     See also class string+.
  2856.  
  2857. STRING+  --  : name          Strings/String+
  2858.     A standard class, subclass of string. Provides many extensions.
  2859.  
  2860. SUPER  -- obj          OOP/Class
  2861.     Use within a class method definition to refer to self, an instance of 
  2862.     the class, but the superclass method will be invoked.
  2863.  
  2864. SUPER(  --  : cname1 cname2 } opt          OOP/Class
  2865.     Synonym for super{.
  2866.  
  2867. SUPER{  --  : cname1 cname2 } opt          OOP/Class
  2868.     Used to declare the superclass(es) when defining a class. See :class.
  2869.  
  2870. SUSPEND?  -- b          Events/Event
  2871.     A value. True if we've just received a Suspend event.
  2872.  
  2873. SuspendVec  --          Events/Event
  2874.     A vect. Called for suspend.
  2875.  
  2876. SWAP  n1 n2 -- n2 n1          Stack/Nuc2.asm
  2877.  
  2878. SYS  wptr --          Events/Event
  2879.     System click handler, a direct call to SystemClick.
  2880.  
  2881. SYSINIT  --          System/Objinit
  2882.     SYSINIT is the startup word, called via the vect objinit, that 
  2883.     initializes the nucleus objects for the Mops development environment 
  2884.     above Files.
  2885.  
  2886. SYSPAT  idx -- obj          Quickdraw/QD
  2887.     Given a zero-based index, returns the system object syspattn (class 
  2888.     pattern) which will be set to a resource pattern from the SysPatList. 
  2889.     Common usage is, e.g.: 4 syspat get: ** will yield a gray pattern 
  2890.     usable with calls like FillRect. See IM I-474 for the pattern list 
  2891.     (subtract 1 from the indices shown in IM).
  2892.  
  2893. SYSPATTN  -- obj          Quickdraw/QD
  2894.     A system object. Class is pattern.
  2895.  
  2896. TAN  flt1 -- flt2          FloatingPoint/floating point
  2897.     Computes tangent, given radians.
  2898.  
  2899. TBOOL  b -- tbool          Toolbox/Window
  2900.     Makes a Mops boolean into a Toolbox boolean. Note that tbool should 
  2901.     only be used as a setup for a Toolbox call as the stack will be 
  2902.     mis-aligned until the Toolbox call is done.
  2903.  
  2904. TEIDLE  --          System/Nuc.asm
  2905.     A system vector.  Currently does nothing.  Is called a lot since it
  2906.     is called everytime NextEvent is called.
  2907.  
  2908. temprect  -- obj          System/QD
  2909.     A system object of class rect, useable at anytime for whatever you wish.
  2910.  
  2911. TFACE  n --          QuickDraw/Window
  2912.     A direct call to TextFace.
  2913.  
  2914. TFONT  n --          QuickDraw/Window
  2915.     A direct call to TextFont.
  2916.  
  2917. THEDLG  -- addr          Events/Event
  2918.     A variable.
  2919.  
  2920. THEMOUSE  -- obj          Events/Event
  2921.     The Mops mouse object.
  2922.  
  2923. THEN  --          ControlStructures/Nuc2.asm
  2924.     standard. Use with IF and NIF.
  2925.  
  2926. THEPOINT  -- addr          Events/Event
  2927.     A variable.
  2928.  
  2929. THEPORT  -- grfptr          QuickDraw/Nuc2.asm
  2930.     Returns a grfptr from the global variable thePort, which always points 
  2931.     to the current port.
  2932.  
  2933. THEWINDOW  -- addr          Windows/Window
  2934.     A variable.
  2935.  
  2936. THREAD  str-addr -- thread-addr          Compiler/Nuc2.asm
  2937.     
  2938.  
  2939. THROW  n -- n | 0 --          Errors/Nuc2.asm
  2940.     Standard. If n is zero, drop it and continue. Otherwise exit to the 
  2941.     current CATCH and pass it n.
  2942.  
  2943. THUMB  -- 129          Controls/Window
  2944.     A constant.
  2945.  
  2946. TIB  -- addr          system/Nuc2.asm
  2947.     This value is the address of the terminal input buffer, where 
  2948.     characters typed at the keyboard are stored.
  2949.  
  2950. TMODE  n --          QuickDraw/Window
  2951.     A direct call to TextMode.
  2952.  
  2953. TMPPTN  -- obj          Quickdraw/QD
  2954.     A system object pointer of class pattern.
  2955.  
  2956. TRAP$  --  :  trap#          Toolbox/Base
  2957.     Compiles a toolbox trap if the Tools module is not loaded. The new 
  2958.     syntax is, e.g.trap$ A9FF
  2959.  
  2960. TRAV  xt parm --          Compiler/Struct
  2961.     Traverses the dictionary, passing each xt and the parm to the passed-in 
  2962.     proc.
  2963.  
  2964. TRAV-FROM  xt parm addr --          Compiler/Struct
  2965.     As for TRAV, but starts from the first word whose lfa is below or at 
  2966.     the given address.
  2967.  
  2968. TRUE  -- b          Arithmetic/Nuc2.asm
  2969.     A constant = -1
  2970.  
  2971. TRUNC  flt1 -- flt2          FloatingPoint/floating point
  2972.     Truncates the fractional portion of the given float. Of course we still 
  2973.     have a float.
  2974.  
  2975. TSIZE  n --          QuickDraw/Window
  2976.     A direct call to TextSize.
  2977.  
  2978. TUCK  n1 n2 -- n2 n1 n2          Stack/Nuc2.asm
  2979.     Copies top stack item under second item.
  2980.  
  2981. TYPCHK  n --          Errors/base
  2982.     Sometimes we want to check that a non-object parameter to a word is of 
  2983.     a certain type. We give it a unique type code and use TYPCHK.
  2984.  
  2985. TYPE  addr len --          Console/Nuc2.asm
  2986.     Prints an (addr-len format) string on the screen or printer, by 
  2987.     executing the system vectors typevec and ptypevec. When Mops starts up, 
  2988.     typevec is vectored to the primitive (type) that prints a string on the 
  2989.     screen, and ptypevec is vectored to 2drop. So the default action of 
  2990.     type is to print a string on the screen only. Type increments value OUT 
  2991.     by len.
  2992.  
  2993. TYPE#  --  : lit          Errors/base
  2994.     Displays given string number (a literal) from the mops.rsrc file.
  2995.  
  2996. TYPECNT  -- n          Compiler/base
  2997.     A value. Used by type{.
  2998.  
  2999. TYPEVEC  addr len  --          System/Nuc2.asm
  3000.     This is the execution vector for type. When Mops starts up, typevec is 
  3001.     vectored to (type), the primitive that prints a string on the screen.
  3002.  
  3003. TYPE{  --  :  name1 name2 etc.          Compiler/base
  3004.     TYPE{ defines a Pascal-like enumerated type. At this stage we don't 
  3005.     give a name to the "type" as such, as we can't do anything really 
  3006.     sensible with it. However later we can optionally load the ENUM-TYPE 
  3007.     class which is rather more Pascal-like. But even without that, the 
  3008.     enumeration is useful by itself.
  3009.  
  3010. U.  n --          Console/Nuc2.asm
  3011.     Displays a number as an unsigned number, followed by one space.
  3012.  
  3013. U.H  n --          Console/Base
  3014.     Displays unsigned number in hex.  See .H  for signed.
  3015.  
  3016. U.R  u w --          Console/Struct
  3017.     Displays the unsigned number u right justified in a field of width w. 
  3018.     The entire number is displayed, even if its width exceeds w.
  3019.  
  3020. U/MOD  n1 n2 -- rem n1/n2          Arithmetic/Nuc2.asm
  3021.     divides n1 by n2 leaving the remainder under the unsigned quotient.
  3022.  
  3023. U<  u1 u2 -- b          Arithmetic/Nuc2.asm
  3024.  
  3025. U>  u1 u2 -- b          Arithmetic/Nuc2.asm
  3026.  
  3027. U>=  u1 u2 -- b          Arithmetic/Nuc2.asm
  3028.  
  3029. UBYTE  -- : name        OOP/Struct
  3030.     The standard unsigned byte class.  See also BYTE.
  3031.  
  3032. UCFLAG  -- b          System/Nuc2.asm
  3033.     A value.
  3034.  
  3035. UINT  --  : name      OOP/Struct
  3036.     The standard unsigned integer class, a subclass of INT.
  3037.  
  3038. UNLOK  --          System/Nuc2.asm
  3039.     Glue routine for various toolbox calls, which is needed by the HANDLE 
  3040.     and PTR classes. Should not be called directly from anywhere else.
  3041.  
  3042. UNLOOP  --          ControlStructures/Nuc2.asm
  3043.     ANSI standard. Use it if you want to EXIT from within a DO loop - put 
  3044.     UNLOOP before the EXIT. It removes the loop stuff from the return stack.
  3045.  
  3046. UNPACK  x:y -- x y          Toolbox/Nuc2.asm
  3047.     Unpacks a Toolbox point and puts the two integers on the stack. Unpack 
  3048.     is the opposite of pack.
  3049.  
  3050. UNTIL  ? --          ControlStructures/Nuc2.asm
  3051.     standard. Stop if ? is non-zero.
  3052.  
  3053. UNUSED  ( -- u )    Core/Nuc2.asm
  3054.     u is the amount of space remaining in the region address by HERE, in
  3055.     address units.
  3056.  
  3057. UPD-EVT  -- false          Events/Event
  3058.     An action word for fevent. Handles update events by sending a late 
  3059.     bound draw: message to the current window (but only if it is an 
  3060.     application window).
  3061.  
  3062. UPPER  addr len --          Strings /Nuc2.asm
  3063.     Converts the given text to upper case.
  3064.  
  3065. UseFPU?  -- b          System /Nuc.asm
  3066.     The value FPU? is set non-zero by the startup code if an FPU is 
  3067.     present. If the FPU is present, FP words use it directly without 
  3068.     calling SANE.
  3069.  
  3070. VALUE  n --  :  name          Memory/Nuc2.asm
  3071.     General purpose data variable defining word. Can use prefix operators 
  3072.     to manipulate ( ->, ++>, etc.). Can also late bind to objects stored in 
  3073.     values.
  3074.  
  3075. VAR  --  : name          OOP/Struct
  3076.     The standard variable class. Subclass of longword that adds the +: and 
  3077.     -: methods. Useful as an ivar that maps into a Toolbox LONGINT record 
  3078.     structure.
  3079.  
  3080. VARIABLE  --  :  name          Memory/Nuc2.asm
  3081.     standard Forth defining word. Use @ and ! for accessing. Will leave the 
  3082.     addr at runtime.
  3083.  
  3084. VECT  xt --  :  name          Compiler/Nuc2.asm
  3085.     Defines an execution variable that can hold and execute the xt of a 
  3086.     Mops word. Can use -> at runtime to change.
  3087.  
  3088. VOLNAME?  obj -- b          Files/Files
  3089.     Given a string object, returns true if the string could be a volume 
  3090.     name (i.e. the name contains a ":" and its length is greater than 1.
  3091.  
  3092. W  -- 16-bit-value  : value          Toolbox/Base
  3093.     Useful for compiling a 16 bit number for toolbox calls. Same as n 
  3094.     makeint except n must be known at compilation time. More compact than 
  3095.     using n makeint.
  3096.  
  3097. W!  w addr --          Memory/Nuc2.asm
  3098.     Strores given 16-bit number into word at given address.
  3099.  
  3100. W+!  w addr --          Memory/Nuc2.asm
  3101.     Adds given 16-bit number to word at given address.
  3102.  
  3103. W,  w --          Compiler/Nuc2.asm
  3104.     Compiles 2-byte w into the next available dictionary.
  3105.  
  3106. W-!  w addr --          Memory/Nuc2.asm
  3107.     Subtracts given 16-bit number from word at given address.
  3108.  
  3109. W@  addr -- w          Memory/Nuc2.asm
  3110.     Fetches 16-bit value from given address. Does not sign extend to 
  3111.     32-bits.
  3112.  
  3113. W@X  addr -- w          Memory/Nuc2.asm
  3114.     Fetches 16-bit value from given address. Sign extends to 32-bits.
  3115.  
  3116. WAITCLICK  --          Events/Event
  3117.     Waits until a mouse click or key event.
  3118.  
  3119. warnings?  -- b          System /Nuc.asm
  3120.     A value. If True, enables warnings of name and method redefinition. 
  3121.     Initially False.
  3122.  
  3123. WATCHCURS  --          Quickdraw/QD
  3124.     Sets the cursor to this.
  3125.  
  3126. WDISPL!  src dst --          Compiler/Nuc2.asm
  3127.     Stores the source address as a short relative address at the 
  3128.     destination (it is relative to the destination).
  3129.  
  3130. WDISPLACE  addr -- addr'          Compiler/Nuc2.asm
  3131.     Similar to displace, but uses the (16-bit) word at addr.
  3132.  
  3133. wHASH  str255 -- w          Compiler/Nuc2.asm
  3134.  
  3135. WHERE  --          Errors/Nuc2.asm
  3136.     A system vector. In many Forth systems. Gives diagnostics on an error. 
  3137.     Default is (WHERE).
  3138.  
  3139. WHILE  ? --          ControlStructures/Nuc2.asm
  3140.     standard. Continue if ? is non-zero.
  3141.  
  3142. WHRFEV  -- point          Events/Window
  3143.     Will become where: fEvent .
  3144.  
  3145. WINDOW  --  : name          Windows/windowmod.txt
  3146.     A system class. The basic window class, with no controls.
  3147.  
  3148. WINDOWKIND  wptr -- w          Windows/Event
  3149.     Given a window pointer, returns the windowKind data from the window 
  3150.     record.
  3151.  
  3152. WITHIN?  n lo hi -- n b          Arithmetic/Nuc2.asm
  3153.     Returns true if lo <= n <= hi.
  3154.  
  3155. WND  -- wptr | 0          Events/Event
  3156.     Addr of window we're looking at. We need to late-bind to it since the 
  3157.     window object may be a sub-class.
  3158.  
  3159. WNEavail?  -- b          Events/Nuc2.asm
  3160.     A value. Set True by the startup code if the WaitNextEvent trap is 
  3161.     available in the System being used.
  3162.  
  3163. WORD  c -- addr          Lowstrings/Nuc2.asm
  3164.     Parses the source using c as the delimiter (using PARSE-SRC-WORD). 
  3165.     Moves the resulting string as a counted string to HERE, and returns 
  3166.     this address.
  3167.  
  3168. WORD"  -- addr          Lowstrings/Nuc2.asm
  3169.     Word" takes the "-delimited string from the input stream and stores it 
  3170.     at HERE, and then returns that address for further processing. Word" 
  3171.     does not map to uppercase.
  3172.  
  3173. WORD0  n -- 16-zero-bits          Toolbox/Nuc2.asm
  3174.     Pushes 16 zero bits (hex 0000) onto the stack. You can use word0 to 
  3175.     prepare for a Toolbox function call for the result, if the function 
  3176.     returns a Toolbox integer.
  3177.  
  3178. WORDS  --          Compiler/Struct
  3179.     Displays all words in the dictionary. Press spacebar to pause.
  3180.  
  3181. X-ADDR  --  : name          OOP/Struct
  3182.     X-ADDR is an executable dictionary address class. The only significant 
  3183.     difference to DicAddr is that there is an Exec: method and no Get: 
  3184.     method. But if we ever have to separate code and data, having a 
  3185.     separate class could prove very useful.
  3186.  
  3187. X-ARRAY  #elems --  : name          OOP/Struct
  3188.     A standard class. A subclass of ARRAY, can execute its elements (which 
  3189.     are xts of Mops words).
  3190.  
  3191. X-COL  #elems --  : name          OOP/Struct
  3192.     A standard class. X-COL is a collection of executable word addresses. A 
  3193.     subclass of (col) and x-array.
  3194.  
  3195. XOR  n1 n2 -- xor          Arithmetic/Nuc2.asm
  3196.  
  3197. XOR>  n --  : word          Arithmetic /args
  3198.     A prefix operator. Logically xors with n. Use for values, local 
  3199.     variables, named input parameters. Not for floats.
  3200.  
  3201. XT?  xt? -- xt? b          Compiler/Nuc2.asm
  3202.     Checks if xt? could really be an xt (executable token).
  3203.  
  3204. XTS{  --  :  name1 name2 etc.          Compiler/base
  3205.     State-smart word to compile or stack a list of xts. Pulls words from 
  3206.     stream, until "}".
  3207.  
  3208. XWID  class -- xwid          OOPprimitive/Class
  3209.     Given a class pointer, retuns the width of the indexed elements.
  3210.  
  3211. [  --          Compiler/Nuc2.asm
  3212.     So now [ and ] do double duty. If they follow a method selector, they 
  3213.     cause a late bind as in Neon. In any other context they turn 
  3214.     compilation on and off.
  3215.  
  3216. [']  -- xt  : word          Compiler/Nuc2.asm
  3217.     In Neon, ' (tick) was state-smart, following Fig-Forth. We have now 
  3218.     followed the Forth-83 and ANSI standards in replacing the state-smart 
  3219.     tick with the two state-dumb forms ' (which ticks the next word in the 
  3220.     input stream at run time, no matter what) and ['] which is immediate, 
  3221.     must be used in a definition, and compiles a literal fetch of the xt of 
  3222.     the following word.
  3223.  
  3224. [CHAR]  --  : char          Strings/Base
  3225.     Compile ascii value of char as a literal.  Use only inside a definition.
  3226.     ANSII   See CHAR and &
  3227.  
  3228. [SELF]  obj selid --          OOP/Class
  3229.     Late binds whatever is on the stack to the given method. e.g. obj get: 
  3230.     [self] . You must be sure that obj really does point to an object. 
  3231.     Synonym for **.
  3232.  
  3233. []  obj selid --          OOP/Class
  3234.     Late binds whatever is on the stack to the given method. e.g. obj get: 
  3235.     [] . You must be sure that obj really does point to an object. Synonym 
  3236.     for **.
  3237.  
  3238. \  --          Compiler/Nuc2.asm
  3239.     Backslash. Will cause compiler to ignore the rest of that line. Useful 
  3240.     for commenting.
  3241.  
  3242. ]  --          OOP/Class
  3243.     Ends an expression with a late bound message that computes the address 
  3244.     of the object to recieve the message. e.g. get: [ 0 at: anArray ] . 
  3245.     This is an alternative syntax to that provided by **, [], and [self].
  3246.  
  3247. ],  --          ControlStructures/casemod.txt 
  3248.     Use within a CASE[ statement.  Allows an OR condition to be set up
  3249.     with the same action.  See CASE[
  3250.  
  3251. ]=>  --          ControlStructures/casemod.txt
  3252.     Use within a CASE[ statement.
  3253.  
  3254. ]CASE  --          ControlStructures/casemod.txt
  3255.     Use to end a CASE[ statement.  Note that, unlike ENDCASE, we need
  3256.     nothing on the stack at this point.
  3257.  
  3258. ^BASE  -- addr          OOP/Nuc2.asm
  3259.     Addr is the base address of the private data of the object. Only used 
  3260.     in a class definition. Same as addr: self.
  3261.  
  3262. ^CLASS  -- class          OOPprimitive/Class
  3263.     Addr of the class we're currently compiling.
  3264.  
  3265. ^DLEN  obj -- dfa          OOPprimitive/Class
  3266.     Returns the dfa for the given object.
  3267.  
  3268. ^ELEM  idx -- addr          Oop/Nuc2.asm
  3269.     Leaves addr of indexed element.
  3270.  
  3271. ^ELEM1  -- addr          Oop/Nuc2.asm
  3272.     As for ^ELEM, but assumes width = 1. Saves multiplying.
  3273.  
  3274. ^ELEM2  -- addr          Oop/Nuc2.asm
  3275.     As for ^ELEM, but assumes width = 2. Saves multiplying.
  3276.  
  3277. ^ELEM4  -- addr          Oop/Nuc2.asm
  3278.     As for ^ELEM, but assumes width = 4. Saves multiplying.
  3279.  
  3280. {  --          Compiler/args
  3281.     Used to begin list of local variables and named input parameters. Note 
  3282.     that the compiler willfirst search this list, so these names take 
  3283.     precedence over other names in the dictionary.
  3284.  
  3285. }  --          Compiler/base
  3286.     Right brace. Denotes end of a list, such as a list of local variables, 
  3287.     xts, etc.
  3288.  
  3289. }END  --          Controlstructures/Modules
  3290.     Used in a select{ construct.
  3291.  
  3292. }OR)?  xt -- xt b          Compiler/base
  3293.     Primitive.
  3294.  
  3295. }SELECT  n --          Controlstructures/Modules
  3296.     Used in a select{ construct.
  3297.  
  3298.